JXL自动换行的实现

  Java语言中,操作Excel文件比较知名的库有:POI和JXL,我一直使用JXL,通过JXL写文件时,对于同一个单元格内容需要换行显示时直接在字符串后面加上"\n"是不能达到效果的,必须通过WritableCellFormat来完成该功能,具体实现如下:

// 打开文件
WritableWorkbook workBook = Workbook.createWorkbook( new File( filePath ) );
// 创建sheet
WritableSheet sheet0 = workBook.createSheet("详细评测信息", 0 );
// 设置单元格格式
WritableFont writableFont = new WritableFont(WritableFont.createFont("宋体"),11, WritableFont.NO_BOLD, false);
WritableCellFormat writableCellFormat = new WritableCellFormat(writableFont);
writableCellFormat.setWrap(true);
// 操作单元格
String content = "hello" + "\n" + "world" + "\n" + "!";
sheet0.addCell( new Label(0, 0, content, writableCellFormat) );
// 写文件
workBook.write( );
// 关闭文件
workBook.close( );

  在使用JXL的过程中,我总结了如下几点需要注意的地方:

  • JXL只支持office2003及以前的版本,建议在读写文件的时候以后缀为xls文件格式的方式操作;

  • JXL对单个excel文件的限制是在5M,对于超过5M的文件处理会比较麻烦,极有可能OOM;

  • JXL中获取sheet表中的行数是返回有内容的总行数,有些单元格看上去没有内容但里面可能存在空格,所以对于需要操作的excel表格应该将多余的空行删掉;

  • JXL对excel文件中的内容全部是按照U16-LE编码方式处理的,一定要注意excel文件的编码格式,否则有可能出现读取、写文件时出现乱码的现象,我的经验是使用WPS而不是office操作excel文件;

参考资料:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,916评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • 01 回头看早些年写的那些职场文章,我发现一个有趣的现象: 那时候文章中总是渗透着郁闷、犹豫、怨恨、不满的情绪,每...
    三公子阅读 704评论 7 18
  • 早上好!#幸福实修#~每天进步1%#幸福实修12班-09-唐洁--富阳# 20171012(17/60) 【幸福三...
    你谢谢阅读 149评论 1 0
  • (一位资深的、理论水平和文字水平很高的、长期担任领导干部的人士评论说:(原文): 这篇新闻稿拍马拍得肉麻,...
    邯郸赵金海阅读 841评论 0 2