- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
POI对Excel单元格的格式的设置参数
最近在做导出Excel的功能封装,遇到了几个问题:
单元格宽度问题
数据不是数字格式问题
格式化了之后显示的不是数字而是######的问题(其实是因为单元格宽度不够导致的无法显示格式化之后的内容)
下面先说说解决方法:
1、单元格宽度问题
这个问题有两个解决办法,一个是
sheet.autoSizeColumn(1);?sheet.autoSizeColumn(1, true);
这种是自适应,第一参数是列号,从0开始,第二参数是是否考虑合并单元格。
还有一种是固定的多宽,这个宽度值就交给自己去测试了:
sheet.setColumnWidth(1, 5000)
这个第二个参数是宽度,具体上面说了自己测试。5000就很宽了,看放什么了。
2、数据不是数字格式问题
这个看api的感觉应该是设置这么个参数,cell.setCellType(Cell.CELL_TYPE_NUMERIC);
但是实际上这个参数设置了不起作用,后来发现自己放的值是String类型,所以不行,后来改为了Double.valueOf(str)方法,发现还是不行,换成Double.parseDouble(str)就行了,原来前面的方法返回的是Double,后面的是double,封装类型也不行。。。
后来就统一把所有的参数设置为Object类型了,这样好转。
3、格式化后显示###
这里是因为宽度不够啦,所以我这里主要说一下怎么格式化好了。
其实Excel本身带了一部分的格式化,见下图
如上图所示,Excel自带了一部分格式,而poi的DataFormat中也自带了这些格式并对应了short值,如下所示:
“($#,##0_);[Red]($#,##0)”?6
“($#,##0.00);($#,##0.00)”?7
“($#,##0.00_);[Red]($#,##0.00)”?8
保留为过国际化用?0×17 – 0×24
“(#,##0_);(#,##0)”?0×25
“(#,##0_);[Red](#,##0)”?0×26
“(#,##0.00_);(#,##0.00)”?0×27
“(#,##0.00_);[Red](#,##0.00)”?0×28
“_($*#,##0_);_($*(#,##0);_($* \”-\”_);_(@_)”?0×29
“_(*#,##0.00_);_(*(#,##0.00);_(*\”-\”??_);_(@_)”?0x2a
“_($*#,##0.00_);_($*(#,##0.00);_($*\”-\”??_);_(@_)”?0x2b
“_($*#,##0.00_);_($*(#,##0.00);_($*\”-\”??_);_(@_)”?0x2c
“@” – This is text format?0×31
使用下面的代码来设置
CellStyle cellStyle = workBook.createCellStyle();
DataFormat format = workBook.createDataFormat();
cellStyle.setDataFormat(format.getFormat(@));
cell.setCellStyle(cellStyle);
接下来我会举例日期、小数、货币、百分比、中文大写、科学计数几种方式的格式化:
?1、日期格式
cell.setCellValue(new Date(2008,5,5));
//set date format
CellStyle cellStyle = workBook.createCellStyle();
DataFormat format= workBook.createDataFormat();
cellStyle.setDataFormat(format.getFormat(yyyy-MM-dd));
cell.setCellStyle(cellStyle);
2、小数格式
cell.setCellValue(1.2);
CellStyle cellStyle = workBook.createCellStyle();
cellStyle.setDataFormat(DataFormat.getBuiltinFormat(0.00));
cell.setCellStyle(cellStyle);
3、货币格式
cell.setCellValue(20000);
CellStyle cellStyle = workBook.createCellStyle();
DataFormat format= workBook.createDataFormat();
cellStyle.setDataFormat(format.getF
您可能关注的文档
- Makerbot打印参数设置.docx
- LTE常用参数网管位置截图.docx
- LTE华为后台操作指导书更新20141217.docx
- Mathematica数学实验随机变量的概率分布.doc
- MATLAB与数值分析第二次第三次实验教学及内容.doc
- M2高速钢轧制过程防脱碳研究.docx
- materialsstudio学习整理知识点.doc
- Marine简称常识.docx
- maple作业.doc
- MATALB初步与数字图像处理基础.doc
- 2025-2030中国建筑结构用钢板行业市场运行态势分析及发展前景与投资研究报告.docx
- 2025-2030中国建筑钢结构行业市场深度调研及发展前景与投资研究报告.docx
- 2025-2030中国并网光伏系统行业市场发展趋势与前景展望战略分析研究报告.docx
- 2025-2030中国微孔板处理机行业市场现状供需分析及投资评估规划分析研究报告.docx
- 2025-2030中国开水煲市场营销策略及未来发展全面探析研究报告.docx
- 2025-2030中国彭体聚四氟乙烯市场营销策略探讨及投资前景评判报告.docx
- 2025-2030中国开源适用技术行业市场发展趋势与前景展望战略研究报告.docx
- 2025-2030中国微焦点X射线检测系统行业市场发展趋势与前景展望战略研究报告.docx
- 2025-2030中国微电子声学组件行业市场发展趋势与前景展望战略分析研究报告.docx
- 2025-2030中国微量颜料行业现状调查与销售策略研究报告.docx
最近下载
- 欧盟碳边境调节机制对钢铁行业的影响及对策建议.docx VIP
- YY0316-2016模版(安全风险分析资料).doc
- 15万吨丙烯酸精制工艺设计.pdf
- 脱蜡知识培训课件.pptx
- 2025年二十届中纪委四次全会党课课件.ppt VIP
- 2024年长期照护师职业技能竞赛理论考试题库(含答案).pdf VIP
- 2025春统编版(2024)小学道德与法治一年级下册(全册)各单元教学计划.docx
- XINJE信捷-XS系列PLCopen标准控制器用户手册【软件篇】(XS Studio)(PS06 20230906 1.2)-2023.9.6.pdf
- 【MOOC】中医与辨证-暨南大学 中国大学慕课MOOC答案.docx
- 阳光书院兴义一中小升初语文英语全真模拟仿真试卷1-8(共8套)附详.pdf VIP
文档评论(0)