java poi将每一个cell设置为文本格式
1、在导出excel文件时候,默认导出的数字一般都是数值格式,容易形成科学计数法。
所以我们需要在导出的时候将文件设置为文本格式,比较符合需求。
CellStyle css = wb.createCellStyle(); DataFormat format = wb.createDataFormat(); css.setDataFormat(format.getFormat("@")); cell.setCellStyle(css);
需要这四行代码就可以实现设置文本格式,看一下我导出excel文件的模板
/*** 没有表头* @param response* @param fileName* @param dataRowList* @throws Exception*/public static void exportExcelNotTitle(HttpServletResponse response, String fileName,List<?> dataRowList) throws Exception {int sheetIndex = 0;final int maxRow = 65000;final HSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet = wb.createSheet();wb.setSheetName(sheetIndex, "Sheet-" + (sheetIndex + 1));CellStyle css = wb.createCellStyle();DataFormat format = wb.createDataFormat();css.setDataFormat(format.getFormat("@"));int rowNum = 0;for (final Object dataRow : dataRowList) {if (rowNum == maxRow) {sheet = wb.createSheet();wb.setSheetName(sheetIndex, "Sheet-" + (sheetIndex + 1));rowNum = 0;}HSSFRow row = sheet.createRow(rowNum);int cellIndex = 0;Class<?> aClass = dataRow.getClass();Field[] fields = aClass.getDeclaredFields();//反射遍历对象所有属性for (final Field field : fields) {String name = field.getName();Method method = aClass.getMethod("get" + name.substring(0, 1).toUpperCase() + name.substring(1));Object data = method.invoke(dataRow);HSSFCell cell = row.createCell(cellIndex);Object value = data;if (value == null) {value = "";}if (value instanceof Date) {cell.setCellValue(DateUtils.formatDateTime((Date) value, "yyyy-MM-dd HH:mm:ss"));} else {cell.setCellValue(value.toString());}
//设置文本格式cell.setCellStyle(css);cellIndex++;}rowNum++;}wb.write(getExcelOutputStream(response, fileName));}public static OutputStream getExcelOutputStream(HttpServletResponse response, String fileName)throws Exception {return getOutputStream(response, "application/vnd.ms-excel;charset=utf-8", fileName);}public static OutputStream getOutputStream(HttpServletResponse response, String contentType,String fileName) throwsIOException {response.setContentType(contentType);response.setHeader("Content-Disposition","attachment;fileName=" + URLEncoder.encode(fileName, "UTF-8"));return response.getOutputStream();}private static HSSFSheet createSheet(HSSFWorkbook wb, int sheetIndex, List<String> titles) {HSSFSheet sheet = wb.createSheet();wb.setSheetName(sheetIndex, "Sheet-" + (sheetIndex + 1));if (titles != null && titles.size() > 0) {HSSFRow row = sheet.createRow(0);for (int i = 0; i < titles.size(); ++i) {final String title = titles.get(i);HSSFCell cell = row.createCell(i);cell.setCellValue(title);}}return sheet;}
java poi将每一个cell设置为文本格式相关推荐
- 怎样用html设置文档格式,Dreamweaver使用CSS样式表设置网页文本格式
Dreamweaver使用CSS样式表设置网页文本格式 互联网 发布时间:2008-10-17 19:35:50 作者:佚名 我要评论 本文章介绍如何在 Dreamweaver 中使用层叠 ...
- 用于设定表格样式的附加css,Dreamweaver使用CSS样式表设置网页文本格式
核心提示:本文章介绍如何在 Dreamweaver 中使用层叠样式表 (CSS) 设置页面中的文本格式.您可以使用 CSS 以 HTML 无法提供的方式来设置文本格式和定位文本,从而能更加灵活自如地控 ...
- java校验文件格式_Java 判断文件是否为文本格式,并获取文件编码格式,读取内容!...
我们经常会遇到读取文件内容的情况,就需要判断文件是否为文本文件,及文件编码格式,防止无法读取内容或乱码出现情况. 根据文件扩展名判定不太准确,可能会遇到未知扩展名或被修改了扩展名,下面的测试类使用文件 ...
- JAVA POI读取Excel中Cell为null的处理
空数据:没有任何编辑过的单元格(非空格) 有时候我们需要对根据每一列的信息进行处理,这里就会出现易错的缺陷. 1.不需要这些空数据 row = sheet.getRow(i); for (Cell c ...
- java json自定义_java返回json设置自定义的格式
springMvc返回Json中自定义日期格式 (一)输出json数据 springmvc中使用jackson-mapper-asl即可进行json输出,在配置上有几点: 1.使用mvc:annota ...
- 使用poi做excel导出时解决以文本格式存储的数字问题
poi版本 3.7 出现问题 :数据导出时纯数字字段被以字符形式生成到excel中,单元格左上角出现绿三角 网上查了下资料,多是通过设置单元格数据类型方式解决 cell.setCellType(HSS ...
- Excel 用于批量把单元格设置为文本格式保存的数字的宏
首先把所有的数字录入(或者导出为)井号+数字的格式,比如"#3333333323424234234234",然后运行下面的宏: Sub Num2Text()If Not TypeO ...
- 如何将EXCEL表格中整列的单元格设置成文本格式
第一步:选中要修改的列 第二步:点击上方数据,找分列后点击 第三步:点击下一步,再点击一次下一步 第四步:选择文本后点击完成即可 第五步:测试,单元格内容是数字时坐上角会看到一个小标志,则表示修改成功
- java jtextfield字体大小_Java如何将JTextField文本格式化为大写?
JTextField通过使用方法DocumentFilter向JTextField组件中添加a ,可以轻松地将文本更改为大写setDocumentFilter().该DocumentFilter让我们 ...
- 将数字格式设置为文本格式,并使其出现左上角绿色小三角
ActiveCell.NumberFormatLocal = "@" ActiveCell.FormulaR1C1 = ActiveCell.Formula Act ...
最新文章
- 创建即时通信服务器的工具 openfire 简介
- linux chpasswd命令 批量修改用户密码
- Linux云服务器安装Redis并设置远程连接设置开机自启
- 挖矿为什么要用显卡_Eth2拉开序幕,为何显卡大户却在加码挖矿?
- 使用matlab播放特定频率的声音
- 所谓高情商就是会说话--总结
- mysql定时导入_MySQL导入、导出、数据库定时备份
- 【Java从入门到头秃专栏 8】语法篇(七) :反射 动态代理 注解
- Java番外篇4——BigInteger与BigDecimal
- MySQL索引类型总结和使用技巧以及注意事项
- Js 对象添加属性
- 最早使用计算机领域,第2章 交换单元及交换网络(2.3.4).ppt
- java 读取excel 文件 Unable to recognize OLE stream 错误
- html5%3cimg%3e属性,汽车之家存储型xss可大规模获取任何用户cookie
- 码栈使用手册(二)---界面介绍
- SQLite这么娇小可爱,不多了解点都不行啊
- ITIL 2011 -- 服务运营的5个流程简介
- 用python计算100以内的素数_python-找出100以内的质数
- 杠杆炒股为什么会被强制平仓?
- 微信小程序实现瀑布流布局
热门文章
- 如何查计算机的开机启动程序,Win7系统电脑如何查看开机启动项?
- K8S重启后coredns pod无法正常运行
- 中国“中产阶级”只赚钱不读书 被指精神荒芜
- msvcp140.dll丢失的解决方法_msvcp140.dll丢失怎样修复win10
- Win10连接NAS网络存储器失败解决方法
- SQL中convert()函数基本使用
- php商城添加加入购物车,php添加购物车,php购物车
- 360与腾讯之争,作为程序员,是愿意自己的项目进入市场得到些成功就被腾讯抄袭,还是软件刚一发布出去,就被360查杀?
- 联想android刷机教程,超详细的联想刷机教程~带你嘻刷刷
- 计算机图形学实验体会,计算机图形学实验报告.doc