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设置为文本格式相关推荐

  1. 怎样用html设置文档格式,Dreamweaver使用CSS样式表设置网页文本格式

    Dreamweaver使用CSS样式表设置网页文本格式 互联网   发布时间:2008-10-17 19:35:50   作者:佚名   我要评论 本文章介绍如何在 Dreamweaver 中使用层叠 ...

  2. 用于设定表格样式的附加css,Dreamweaver使用CSS样式表设置网页文本格式

    核心提示:本文章介绍如何在 Dreamweaver 中使用层叠样式表 (CSS) 设置页面中的文本格式.您可以使用 CSS 以 HTML 无法提供的方式来设置文本格式和定位文本,从而能更加灵活自如地控 ...

  3. java校验文件格式_Java 判断文件是否为文本格式,并获取文件编码格式,读取内容!...

    我们经常会遇到读取文件内容的情况,就需要判断文件是否为文本文件,及文件编码格式,防止无法读取内容或乱码出现情况. 根据文件扩展名判定不太准确,可能会遇到未知扩展名或被修改了扩展名,下面的测试类使用文件 ...

  4. JAVA POI读取Excel中Cell为null的处理

    空数据:没有任何编辑过的单元格(非空格) 有时候我们需要对根据每一列的信息进行处理,这里就会出现易错的缺陷. 1.不需要这些空数据 row = sheet.getRow(i); for (Cell c ...

  5. java json自定义_java返回json设置自定义的格式

    springMvc返回Json中自定义日期格式 (一)输出json数据 springmvc中使用jackson-mapper-asl即可进行json输出,在配置上有几点: 1.使用mvc:annota ...

  6. 使用poi做excel导出时解决以文本格式存储的数字问题

    poi版本 3.7 出现问题 :数据导出时纯数字字段被以字符形式生成到excel中,单元格左上角出现绿三角 网上查了下资料,多是通过设置单元格数据类型方式解决 cell.setCellType(HSS ...

  7. Excel 用于批量把单元格设置为文本格式保存的数字的宏

    首先把所有的数字录入(或者导出为)井号+数字的格式,比如"#3333333323424234234234",然后运行下面的宏: Sub Num2Text()If Not TypeO ...

  8. 如何将EXCEL表格中整列的单元格设置成文本格式

    第一步:选中要修改的列 第二步:点击上方数据,找分列后点击 第三步:点击下一步,再点击一次下一步 第四步:选择文本后点击完成即可 第五步:测试,单元格内容是数字时坐上角会看到一个小标志,则表示修改成功

  9. java jtextfield字体大小_Java如何将JTextField文本格式化为大写?

    JTextField通过使用方法DocumentFilter向JTextField组件中添加a ,可以轻松地将文本更改为大写setDocumentFilter().该DocumentFilter让我们 ...

  10. 将数字格式设置为文本格式,并使其出现左上角绿色小三角

    ActiveCell.NumberFormatLocal = "@"     ActiveCell.FormulaR1C1 = ActiveCell.Formula     Act ...

最新文章

  1. 创建即时通信服务器的工具 openfire 简介
  2. linux chpasswd命令 批量修改用户密码
  3. Linux云服务器安装Redis并设置远程连接设置开机自启
  4. 挖矿为什么要用显卡_Eth2拉开序幕,为何显卡大户却在加码挖矿?
  5. 使用matlab播放特定频率的声音
  6. 所谓高情商就是会说话--总结
  7. mysql定时导入_MySQL导入、导出、数据库定时备份
  8. 【Java从入门到头秃专栏 8】语法篇(七) :反射 动态代理 注解
  9. Java番外篇4——BigInteger与BigDecimal
  10. MySQL索引类型总结和使用技巧以及注意事项
  11. Js 对象添加属性
  12. 最早使用计算机领域,第2章 交换单元及交换网络(2.3.4).ppt
  13. java 读取excel 文件 Unable to recognize OLE stream 错误
  14. html5%3cimg%3e属性,汽车之家存储型xss可大规模获取任何用户cookie
  15. 码栈使用手册(二)---界面介绍
  16. SQLite这么娇小可爱,不多了解点都不行啊
  17. ITIL 2011 -- 服务运营的5个流程简介
  18. 用python计算100以内的素数_python-找出100以内的质数
  19. 杠杆炒股为什么会被强制平仓?
  20. 微信小程序实现瀑布流布局

热门文章

  1. 如何查计算机的开机启动程序,Win7系统电脑如何查看开机启动项?
  2. K8S重启后coredns pod无法正常运行
  3. 中国“中产阶级”只赚钱不读书 被指精神荒芜
  4. msvcp140.dll丢失的解决方法_msvcp140.dll丢失怎样修复win10
  5. Win10连接NAS网络存储器失败解决方法
  6. SQL中convert()函数基本使用
  7. php商城添加加入购物车,php添加购物车,php购物车
  8. 360与腾讯之争,作为程序员,是愿意自己的项目进入市场得到些成功就被腾讯抄袭,还是软件刚一发布出去,就被360查杀?
  9. 联想android刷机教程,超详细的联想刷机教程~带你嘻刷刷
  10. 计算机图形学实验体会,计算机图形学实验报告.doc