Java导出Excel表,POI 实现合并单元格以及列自适应宽度
来源:互联网 发布:淘宝天猫8折代购原理 编辑:程序博客网 时间:2024/06/06 02:38
POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元格,合并单元格的方法是:
sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 2));
自适应列宽度:
sheet.autoSizeColumn(1);
sheet.autoSizeColumn(1, true);
这两种方式都是自适应列宽度,但是注意这个方法在后边的版本才提供,poi的版本不要太老。 注意:第一个方法在合并单元格的的单元格并不好使,必须用第二个方法。
sheet.setColumnWidth(m, “列名”.getBytes().length*2*256);
这个方法是计算字符串的长度,以便设置列宽,该方法在解决中文的问题上比较好,前面两种方法对中文不好好用。。。。
还有在自适应宽度的时候,有时候遇到单元格是公式单元格,自适应不起作用,那是因为单元格存的是公式,并不是真正的数据,解决方法:
HSSFFormulaEvaluator evaluator = new HSSFFormulaEvaluator(sheet.getWorkbook());
CellValue cell71Val = evaluator.evaluate(cell71);
cell71.setCellValue(cell71Val.getNumberValue());
将格式化后的数据再次set进去,就是真正的值了。
//字体
HSSFFont font = workbook.createFont();
font.setFontName("仿宋_GB2312");
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示
font.setFontHeightInPoints((short) 12);
HSSFCellStyle style = workbook.createCellStyle();
//设置颜色
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
style.setFillForegroundColor(HSSFColor.SKY_BLUE.index);//前景颜色
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);//填充方式,前色填充
//边框填充
style.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
style.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
style.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
style.setFont(font);
style.setWrapText(false);
- Java导出Excel表,POI 实现合并单元格以及列自适应宽度
- Java导出Excel表,POI 实现合并单元格以及列自适应宽度
- POI 实现合并单元格以及列自适应宽度
- Java导出Excel表,POI实现自适应宽度
- java poi导出Excel表,合并单元格
- poi导出excel合并单元格(包括列合并、行合并)
- Java poi导出excel合并标题单元格
- java poi导出excel,合并单元格
- poi java导出excel时合并单元格
- Java poi导出excel合并标题单元格
- POI导出Excel--合并单元格
- POI导出Excel 合并单元格
- POI导出excel合并单元格
- POI导出Excel--合并单元格
- java POI 实现Excel合并单元格
- java POI excel导出,并合并单元格设置宽度高度
- poi导出excel,支持合并的单元格
- poi合并单元格同时导出excel
- jQuery datatable 多个查询条件
- 面向对象
- 一个计时器
- iPhone, iPad分辨率
- LintCode排序题总结
- Java导出Excel表,POI 实现合并单元格以及列自适应宽度
- 怎样制作PHP验证码
- 'latin-1'codec can't encode characters in postion 52-55:ordinal not in range(256)
- Codeforces Round #367/706 (Div. 2)
- 更新一张表数据到另一张表sql
- 机器学习进阶路上不可错过的 28 个视频
- Java将二进制流转Base64字符串并在页面显示(附Base64转二进制流)
- php基础数组
- 重构二叉树