资源简介
文件里包含可以运行起来的项目,下载下来解压后,引入项目就可以运行看结果了。该代码可以处理100万数据量的excel文件,xlsx文件数据量太大,用普通的读法会报内存溢出错误,所以用官网提供的方法,一条一条的读取大excel文件,本例子从这点出发,组装excel里读取的单条数据为list,在根据需求操作list,即单条读取,单条操作,下载下来 后找到endRow(int rowNum)函数,在函数末尾有个注销的list数组打印,这个list即从excel里读取的当前行,列顺序同excel里的列顺序,直接操作list即可。
代码片段和文件信息
package cn.com.poi.utils;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.ParserConfigurationException;
import org.apache.poi.openxml4j.exceptions.Openxml4JException;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.openxml4j.opc.PackageAccess;
import org.apache.poi.ss.usermodel.DataFormatter;
import org.apache.poi.ss.util.CellAddress;
import org.apache.poi.ss.util.CellReference;
import org.apache.poi.util.SAXHelper;
import org.apache.poi.xssf.eventusermodel.ReadOnlySharedStringsTable;
import org.apache.poi.xssf.eventusermodel.XSSFReader;
import org.apache.poi.xssf.eventusermodel.XSSFSheetxmlHandler;
import org.apache.poi.xssf.eventusermodel.XSSFSheetxmlHandler.SheetContentsHandler;
import org.apache.poi.xssf.extractor.XSSFEventbasedExcelExtractor;
import org.apache.poi.xssf.model.stylesTable;
import org.apache.poi.xssf.usermodel.XSSFComment;
import org.xml.sax.ContentHandler;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.xmlReader;
/**
* A rudimentary XLSX -> CSV processor modeled on the
* POI sample program XLS2CSVmra from the package
* org.apache.poi.hssf.eventusermodel.examples.
* As with the HSSF version this tries to spot missing
* rows and cells and output empty entries for them.
*
* Data sheets are read using a SAX parser to keep the
* memory footprint relatively small so this should be
* able to read enormous workbooks. The styles table and
* the shared-string table must be kept in memory. The
* standard POI styles table class is used but a custom
* (read-only) class is used for the shared string table
* because the standard POI SharedStringsTable grows very
* quickly with the number of unique strings.
*
* For a more advanced implementation of SAX event parsing
* of XLSX files see {@link XSSFEventbasedExcelExtractor}
* and {@link XSSFSheetxmlHandler}. Note that for many cases
* it may be possible to simply use those with a custom
* {@link SheetContentsHandler} and no SAX code needed of
* your own!
*/
public class XLSX2CSV {
/**
* Uses the XSSF Event SAX helpers to do most of the work
* of parsing the Sheet xml and outputs the contents
* as a (basic) CSV.
*/
private class SheetConvert implements SheetContentsHandler {
private boolean firstCellOfRow = false;
private int currentRow = -1;
private int currentCol = -1;
private List lineArray = new ArrayList();
private void outputMissingRows(int number) {
for (int i = 0; i < number; i++) {
for (int j = 0; j < minColumns; j++) {
output.append(‘‘);
}
output.append(‘\n‘);
}
}
@Override
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1120 2018-07-06 16:33 testpoi\.classpath
文件 383 2018-07-12 11:38 testpoi\.project
文件 629 2018-07-06 16:32 testpoi\.settings\org.eclipse.jdt.core.prefs
文件 3253 2018-07-12 11:40 testpoi\bin\cn\com\poi\utils\XLSX2CSV$SheetConvert.class
文件 5611 2018-07-12 11:40 testpoi\bin\cn\com\poi\utils\XLSX2CSV.class
文件 284184 2018-07-06 16:33 testpoi\lib\commons-codec-1.10.jar
文件 751238 2018-07-06 16:33 testpoi\lib\commons-collections4-4.1.jar
文件 61829 2018-07-06 16:33 testpoi\lib\commons-logging-1.2.jar
文件 98365 2018-07-06 16:32 testpoi\lib\curvesapi-1.04.jar
文件 314932 2018-07-06 16:33 testpoi\lib\junit-4.12.jar
文件 489884 2018-07-06 16:33 testpoi\lib\log4j-1.2.17.jar
文件 2679259 2018-07-06 16:32 testpoi\lib\poi-3.16.jar
文件 369786 2018-07-06 16:32 testpoi\lib\poi-examples-3.16.jar
文件 31218 2018-07-06 16:32 testpoi\lib\poi-excelant-3.16.jar
文件 1433719 2018-07-06 16:32 testpoi\lib\poi-ooxm
文件 5871746 2018-07-06 16:32 testpoi\lib\poi-ooxm
文件 1384931 2018-07-06 16:32 testpoi\lib\poi-scratchpad-3.16.jar
文件 2730866 2018-07-06 16:32 testpoi\lib\xm
文件 9160 2018-07-12 11:40 testpoi\src\cn\com\poi\utils\XLSX2CSV.java
目录 0 2018-07-12 11:39 testpoi\bin\cn\com\poi\utils
目录 0 2018-07-12 11:39 testpoi\src\cn\com\poi\utils
目录 0 2018-07-12 11:39 testpoi\bin\cn\com\poi
目录 0 2018-07-12 11:39 testpoi\src\cn\com\poi
目录 0 2018-07-12 11:39 testpoi\bin\cn\com
目录 0 2018-07-12 11:39 testpoi\src\cn\com
目录 0 2018-07-12 11:38 testpoi\bin\cn
目录 0 2018-07-12 11:38 testpoi\src\cn
目录 0 2018-07-12 11:38 testpoi\.settings
目录 0 2018-07-12 11:39 testpoi\bin
目录 0 2018-07-12 11:38 testpoi\lib
............此处省略5个文件信息
相关资源
- excel导出导入读取数据的jar包
- java web对wordexcelpdf文档的在线浏览的实
- javaweb Excel生成器
- 将jsp页面中的table中的数据导出到ex
- POI生成Excel POI操作Excel POI读取Excel P
- Android开发之读取Excel表格数据
- Poi操作excel批量导入导出项目需要的
- excel导出添加水印
- java创建excel文件所需的jar包(jxl.jar
- java写的excel编辑器,界面令人惊叹!
- HSSFWorkbookXSSFWorkbook所需全部jar
- 最新POI Lib Java Excel转换成Txt
- poi+jsp+servlet 实现excel的上传的
- java-socket大文件上传-含客户端和服务
- Java处理Excel文档需要的完整POI依赖j
- java实现excel批量导入数据到数据库m
- Android导出Excel
-
xm
lbeans-2.3.0.jar - java_poi导入excel通用工具类
- poi-4.0.0全部jar包
- HTML5 JAVA大文件断点续传
- java 大文件视频分片上传+压缩
- Android数据转化为Excel表格导入导出
- java操作Excel需要的jar包
-
Testli
nk用例转换工具最新版本 - 一个简单的基于Android读取xls和xlsx文件
- java操作excel(jxl)
- 超大文件编辑器PilotEdit
- 对excel文件操作要用到的jar
- poi导出复杂excel
评论
共有 条评论