poi

java使用poi导出excel防止数字变成科学计数法的形式

爷,独闯天下 提交于 2020-02-27 08:40:27
当使用POI导出Excel的时候,遇到了比较长的数字,虽然在Java代码中使用了强制转换为文本,但是输出到Excel还是会变成数字类型,实际得到的是一个double,而且当长度大一点的时候就会变成科学计数法形式。 即使是加上POI提供的强制设置Excel单元格为文本类型的代码,也对这个问题起不了关键性的作用。 HSSFCellStyle dataStyle = wb.createCellStyle(); dataStyle.setDataFormat(format.getFormat("@")); 因此这实际上是一个double怎么转换成完全的字符串的问题了,这时候就可以使用DecimalFormat对这个double进行格式化,随后使用format方法获得的String就是你想要的值了。 DecimalFormat df = new DecimalFormat("0.00"); String whatYouWant = df.format(1234567890.666); 通过这样格式化之后,Excel就不能将该字符串识别为数字类型,并在长度较大的时候自动转化成科学计数法形式了。 "成熟的可怕在于,很多曾经看起来很复杂的事情,现在一眼就看穿了。" 来源: https://www.cnblogs.com/yanggb/p/12365121.html

Java集成pageoffice导出Excel

白昼怎懂夜的黑 提交于 2020-02-26 13:32:06
一、需求介绍   当前B/S模式已成为应用开发的主流,而在开发企业办公系统的过程中,常常有客户这样子要求:把系统数据库中的数据导出到Excel,用户查看报表时直接用Excel打开。或者是:用户已经习惯用Excel打印,也就要求必须把数据导入到Excel文件。这样在我们实际的开发中,很多时候需要实现导出Excel的应用。目前从网上找到的比较常用的实现Java导出Excel的技术有三种 POI、JXL、PageOffice,(CSV技术就不讨论了,它只是生成以逗号间隔的文本文件)下面我就分析一下这三种方案。 二、方案分析   POI 是apache的子项目,目标是处理ole2对象,它提供了一组操纵Windows文档的Java API。用于操作Excel格式文件的是HSSF接口,处理MS Excel对象,它不象我们用CSV生成的仅仅是没有格式的可以由Excel转换的文本文件,而是模拟操作Excel对象,你可以控制一些属性如sheet,cell等等。HSSF 是Horrible SpreadSheet Format的缩写,翻译过来就是“讨厌的电子表格格式”。 HSSF的名字很不严肃,但通过HSSF,你可以用Java代码来修改Excel文件内容。HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件-用户模型”,接口比较抽象,不好理解。

快速开发平台之使用代码生成器分享

妖精的绣舞 提交于 2020-02-26 01:22:22
快速开发平台 是开发人员将各种需要的功能以目前流行的多种web技术,包括springboot, JPA,Druid, Activiti,Lombok,swagger,poi,WebSocket,Jquery,BootStrap, maven,Jenkins 等等 )为基础封装在不同的层中,给大家调用,而大家在调用时不需要清楚这些方法里面是如果实现的,只需要关注输出的结果是否是自己想要的就可以了。 XJR快速开发平台的代码生成器已经把常用的开发场景做成开发模板,按照开发向导一步步走,在遇到有复杂业务逻辑的地方稍作修改就可以。当然XJR快速开发平台提供了源代码,您的开发水平比较高的话可以做深层次的扩展。 快速开发平台可以实现各种业务系统如OA、ERP、MIS、HIS、WMS、CRM、电商平台、app软件开发、工作流引擎等系统开发。一起来看看实例分享。 先来看看自定义开发模板 1、点开菜单快速开发→代码生成器→自定义开发模板 2、选择工作流数据表单,设置表单。 3、调整布局 点击图中的“下一步”进入表单开发界面,可以随意,如图 4、界面设计 调整好整体布局后就可以将左侧的控件直接拖入前面设计好的布局中,然后设置好。完全可视化,拖拽设置就可以实现,操作简单,这里就不详细说明了。 5、设置查询配置 6、设置列表配置 7、设置合计配置 8、输出配置 9、绑定菜单

文件系统(01):基于SpringBoot框架,管理Excel和PDF文件类型

☆樱花仙子☆ 提交于 2020-02-25 23:04:45
本文源码: GitHub·点这里 || GitEE·点这里 一、文档类型简介 1、Excel文档 Excel一款电子表格软件。直观的界面、出色的计算功能和图表工具,在系统开发中,经常用来把数据转存到Excel文件,或者Excel数据导入系统中,这就涉及数据转换问题。 2、PDF文档 PDF是可移植文档格式,是一种电子文件格式,具有许多其他电子文档格式无法相比的优点。PDF文件格式可以将文字、字型、格式、颜色及独立于设备和分辨率的图形图像等封装在一个文件中。该格式文件还可以包含超文本链接、声音和动态影像等电子信息,支持特长文件,集成度和安全可靠性都较高。 二、Excel文件管理 1、POI依赖 Apache POI是Apache软件基金会的开源类库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 <!-- Excel 依赖 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version> </dependency> <!-- 2007及更高版本 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml<

POI导入数据

自古美人都是妖i 提交于 2020-02-25 18:51:48
1、导入POI的jar包 新建一个项目,在根目录在新建一个lib文件夹,将jar包复制粘贴到lib文件夹后,右键将其添加到项目的build path中,最后的结果如图所示: 2、 编写java类,新建一个实体类 例如(电脑、电视) public Computer{   private int id; private String name; private String description; private double price; private double credit;   //注意要提供set/get方法    } 3、新建一个操作类ExcelManager 一个写入excel的方法 ,如write2excel,   public static void write2Excel()   { //创建一个Excel文件     HSSFWorkbook excel= new HSSFWorkbook();        //创建HSSFSheet对象: Excel中的一个sheet(工作表)对应着java中的一个HSSFSheet对象,利用HSSFWorkbook对象可以创建一个HSSFSheet对象 如:创建一个sheet名为computer的excel     HSSFSheet sheet = excel.createSheet("computer");   

Poi之Word文档结构介绍

倖福魔咒の 提交于 2020-02-25 10:52:30
1、poi之word文档结构介绍之正文段落 一个文档包含多个段落,一个段落包含多个Runs,一个Runs包含多个Run,Run是文档的最小单元 获取所有段落:List<XWPFParagraph> paragraphs = word.getParagraphs(); 获取一个段落中的所有Runs:List<XWPFRun> xwpfRuns = xwpfParagraph.getRuns(); 获取一个Runs中的一个Run:XWPFRun run = xwpfRuns.get(index); 2、poi之word文档结构介绍之正文表格 一个文档包含多个表格,一个表格包含多行,一行包含多列(格),每一格的内容相当于一个完整的文档 获取所有表格:List<XWPFTable> xwpfTables = doc.getTables(); 获取一个表格中的所有行:List<XWPFTableRow> xwpfTableRows = xwpfTable.getRows(); 获取一行中的所有列:List<XWPFTableCell> xwpfTableCells = xwpfTableRow.getTableCells(); 获取一格里的内容:List<XWPFParagraph> paragraphs = xwpfTableCell.getParagraphs(); 之后和正文段落一样

Poi方法导出Excel文件

好久不见. 提交于 2020-02-24 22:53:00
Poi方法导出Excel文件 Poi导出Excel需要的jar包 解析2003版Excel。 Poi-3.10-FINAL-20140208.jar Commons-codec-1.5.jar Commons-logging-1.1.jar Log4j-1.2.13.jar 解析2007版Excel。 Dom4j-1.6.1.jar Stax-api-1.0.1.jar Xmlbeans-2.3.0.jar 以上三个是第三方依赖插件 Poi-ooxml-3.10-FINAL-20140208.jar Poi-ooxml-schemas-3.10-FINAL-20140208.jar 以下是导出Excel文件的方法 package com . sxt . poi ; import java . io . IOException ; import java . io . OutputStream ; import java . util . List ; import org . apache . poi . hssf . usermodel . HSSFCell ; import org . apache . poi . hssf . usermodel . HSSFCellStyle ; import org . apache . poi . hssf . usermodel .

poi导出Excel遇到的问题

 ̄綄美尐妖づ 提交于 2020-02-22 23:55:01
1.导出的时候没有没有导出Excel, 而且进入断点调试,所有的数据都执行了就是没有下载提示。而且下载失败 如果设置手动设置下载路径的话,下载成功,也没有下载提示。 问题: 自己使用的是ajax请求路径。 而要想出现下载提示框,应该是重新打开一个新的窗口,所以应使用location.href = url请求路径 这样问题就解决了。 来源: CSDN 作者: cheng_zhang_zhong 链接: https://blog.csdn.net/cheng_zhang_zhong/article/details/104447698

百度地图

送分小仙女□ 提交于 2020-02-20 07:53:19
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head> <!--引用百度地图API--> <style type="text/css"> .iw_poi_title { color: #CC5522; font-size: 14px; font-weight: bold; overflow: hidden; padding-right: 13px; white-space: nowrap } .iw_poi_content { font: 12px arial, sans-serif; overflow: visible; padding-top: 4px; white-space: -moz-pre-wrap; word-wrap: break-word } </style> <script

Poi 读取excel 对日期进行处理

时光总嘲笑我的痴心妄想 提交于 2020-02-17 19:54:13
1.最近做了一个批量导入功能 , 然后发现poi读取excel的日期类型会出现点问题 , 因为我的需求是需要区分出 yyyy/MM/dd ,HH:mm:ss ,yyyy/MM/dd HH:mm:ss 2.日期,数字的类型都是数值的, 所有需要对每一个进行区分 根据cell.getCellStyle().getDataFormat() 方法 可以得到excel 格子中的short类型的值 ,从断点中得知 yyyy/MM/dd 格式的值是 14 HH:mm:ss 格式的值是 21 yyyy/MM/dd HH:mm:ss 格式的值是 22 double 和 Int 都是 0 (我都转成转成String 再去做进一步处理) 下面是代码可以把值写成常量定义 public static String getCellValue ( Cell cell ) { String cellValue = "" ; if ( cell == null ) { return cellValue ; } // 判断数据的类型 switch ( cell . getCellType ( ) ) { case Cell . CELL_TYPE_NUMERIC : // 数字 //short s = cell.getCellStyle().getDataFormat(); if ( HSSFDateUtil .