poi

POI读取excel文档

若如初见. 提交于 2019-12-09 16:30:33
// <!--读取excel文件--> // <dependency> // <groupId>org.apache.poi</groupId> // <artifactId>poi</artifactId> // <version>3.9</version> // </dependency> // <dependency> // <groupId>org.apache.poi</groupId> // <artifactId>poi-ooxml</artifactId> // <version>3.9</version> // </dependency> // <dependency> // <groupId>org.apache.poi</groupId> // <artifactId>poi-ooxml-schemas</artifactId> // <version>3.10-FINAL</version> // </dependency> @RestController @RequestMapping("/workbook") public class WorkBookTool { private final static String xls = "xls"; private final static String xlsx = "xlsx"; @PostMapping

使用POI解析Excel

て烟熏妆下的殇ゞ 提交于 2019-12-09 14:45:35
Excel作为一种常用的数据存储格式,在很多项目中都会有相应的导入导出的功能。这篇文章会介绍如何使用Java操作Excel,以及如何解决大文件读写时内存溢出的问题。 1、OpenXML标准 Word、Excel、PPT是Office办公套件中最常用的三个组件。早期的Office套件使用二进制格式,这里面包括以.doc、.xls、.ppt为后缀的文件;直到07这个划时代的版本将基于XML的压缩格式作为默认文件格式,也就是相应以.docx、.xlsx、.pptx为后缀的文件。 这个结合了XML与Zip压缩技术的新文件格式使用的是OpenXML标准。微软从2000年开始酝酿这项技术标准,到2006年申请成为ECMA-376,然后在Office2007中用作默认的文件格式,再到08年成为了ISO / IEC 29500国际标准,后续每两三年就会发布一个新版本。Office的一路凯歌无不彰显微软雄厚的实力。 所以说三流公司做产品,二流公司做平台,一流公司定标准。 微软的官方文档中详细介绍了WordprocessingML(Word)、SpreadsheetML(Excel)、PresentationML(PPT)三个标准,这里主要介绍Excel的部分内容。 首先Excel几个最基础的概念: 一个Excel就是一个工作簿(Workbook) 一个Sheet就是一张表格

基于 POI 封装 ExcelUtil 精简的 Excel 导入导出

江枫思渺然 提交于 2019-12-09 09:59:44
注 本文是使用 org.apache.poi 进行一次简单的封装,适用于大部分 excel 导入导出功能。过程中可能会用到反射,如若有对于性能有极致强迫症的同学,看看就好。 序 由于 poi 本身只是针对于 excel 等office软件的一个工具包,在一些常规的 excel 导入导出时,还需要再做一次精简的封装,简化代码耦合。 一、现状 本人经历过几家公司的代码封装,导入导出一般存在下面的情况。 1.1 导入 传入文件地址,返回 Sheet 对象,在业务代码中进行循环遍历,做相对应的类型转换,业务处理(二零零几年的代码框架) 传入文件地址,返回 List<String, Object> 的对象,外部直接做强转 传入文件地址,返回 List<String, String> 的对象,外部将字符串对象转换为对应的类型 总结:如果只有上述的选择,本人是比较倾向于第二种,毕竟对外层是非常友好的 1.2 导出 直接在逻辑代码中进行遍历封装sheet,传入到生成file的方法中(二零零几年的代码框架) 先循环遍历 List<Model> 对象,转换为 List<Map<String, String>> 对象,带上 fieldName 传入到封装好excel生成的方法中,内部则使用 map.get() 方法操作 直接将 List<Model> 对象带上 fieldName

Java读取Excel文档总结

℡╲_俬逩灬. 提交于 2019-12-08 15:07:16
用Java读取Excel有两种方法,一种方法是JXL,第二种是POI,前者只适用于Excel2007版本以下,后者适用于Excel2007以上和以下。 JXL使用Workbook在不知道单元格文本类型的情况下自动转换成String类型, POI使用了HSSFWorkbook和XSSFWorkbook,只有后者能读取2007版本以上,但比起JXL,它有个明显的缺陷,就是得到的单元格类型必须明确,无法自动转换成String 类型。 当读取文件内容比较多时,出现内存溢出的情况,解决方法:Run Configurations —》Argument—》VM argument 输入-Xmx800m 来源: CSDN 作者: perior 链接: https://blog.csdn.net/yxfei666/article/details/6722744

Java读取word文档

守給你的承諾、 提交于 2019-12-08 15:06:34
package com.zhihua.poi.readWord; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import org.apache.poi.POIXMLDocument; import org.apache.poi.POIXMLTextExtractor; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.extractor.WordExtractor; import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.xwpf.extractor.XWPFWordExtractor; import org.apache.poi.xwpf.usermodel.XWPFDocument; public class ReadWordUtils { /** * 读取word文档 * <请替换成功能描述> <br> * <请替换成详细描述> * @param fileName 带有完整路径的文件名 * @author caizh * @since [1.0.0] * @version [1.0.0

Java 读取Doc/Docx 文档

北城以北 提交于 2019-12-08 15:06:16
Java后台系统中常常会遇到读取文档内容的需求,今天把 Java 读取两种格式的word文档写了一个简单的工具类附上: 1. 需要添加 Apache.poi 的依赖 <!-- apache poi--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>3.8</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency> 2. 工具类代码 package com.lq.file.word; /** * <p>Description:POIUtil 工具类</p> * <p>Copyright: Copyright (c)2019</p> * <p>Company: Tope</p> * <P>@version 1.0</P> */ import org.apache.poi.POIXMLDocument; import org.apache.poi.POIXMLTextExtractor; import org.apache

Apache POI和excel操作

一世执手 提交于 2019-12-08 11:26:25
<!--添加依赖--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.14</version> </dependency> 描述 POI结构: HSSF - 提供读写Microsoft Excel XLS格式档案的功能 XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能 HWPF - 提供读写Microsoft Word DOC格式档案的功能 HSLF - 提供读写Microsoft PowerPoint格式档案的功能 HDGF - 提供读Microsoft Visio格式档案的功能 HPBF - 提供读Microsoft Publisher格式档案的功能 HSMF - 提供读Microsoft Outlook格式档案的功能 测试类 package com.study.test; import org.apache.poi.ss.usermodel.Cell; import org

Excel的导入和导出功能实现

℡╲_俬逩灬. 提交于 2019-12-08 08:23:51
工作中经常会用到excel的导入和导出功能,这里我提供导入和导出类。 导入类(需要注意的地方我注释里面写好了): package cn.teacheredu.utils; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi

从零开始,学会Java实现Excel导入导出

无人久伴 提交于 2019-12-08 08:22:34
一、读取Excel常用的三种方式 ( 本文讲解97-2003 或更高版本 ) 最底下有码云地址,不用一个个敲 1、POI 2、JXL 3、FASTEXCEL 二、POI Apache POI 是Apache软件基金会的开放源码函式库,POI提供API给java程序对Microsoft Office格式档案读和写的功能 HSSF 是Horrible SpreadSheet Format的缩写,也即 “讨厌的电子表达格式”。通过 HSSF,你可以用纯java代码来读取、写入、修改Excel文件。 知识点补充: HSSF - 读写Microsoft Excel 格式档案的功能。 XSSF - 读写Microsoft Excel OOXML格式档案的功能。 HWPF - 读写Microsoft Word 格式档案的功能。 HSLF - 读写Microsoft PowerPoint格式档案的功能。 HDGF - 读写Microsoft Visio格式档案的功能 如果想生成 PDF 可以使用 iText 技术 通过iText不仅可以生成PDF或者rtf 的文档,而且可以将XML、Html文件转化成PDF文件 下载iText.jar 文件以后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用iText类库了。 二、JXL java Execl是一开放的源码项目

Java之POI的excel导入导出

大憨熊 提交于 2019-12-08 08:20:48
1.场景还原 近期项目中的excel导入导出功能需求频繁的出现,趁此机会,今天笔者对POI的Excel数据的导入导出做一番详解,希望对大家有所帮助。 2.准备工作 ①添加POI依赖 <!-- Excel 操作包 --> <dependency> <groupId> org.apache.poi </groupId> <artifactId> poi-ooxml </artifactId> <version> 3.14-beta1 </version> </dependency> <dependency> <groupId> org.apache.poi </groupId> <artifactId> poi-ooxml-schemas </artifactId> <version> 3.14-beta1 </version> </dependency> <dependency> <groupId> org.apache.poi </groupId> <artifactId> poi </artifactId> <version> 3.14-beta1 </version> </dependency> 以及excel Jar包依赖 <dependency> <groupId> net.sourceforge.jexcelapi </groupId> <artifactId> jxl