使用Apache POI开源包进行Excel读取

考虑向后兼容以及标准化的问题,我们使用开源工具apache poi进行excel的读取

POI读取的时候将cell里的内容都认为是double,这个与jxl的默认为string不一样

示例代码:

https://github.com/tonylee0329/java_lab/blob/master/src/main/java/org/tony/file/ReadExcel.java

遇到的问题

1.POI读取科学计数法,可以使用NumberFormat对数据进行format.千位分隔符是否使用:setGroupingUsed()

参考代码

BigDecimal num = new BigDecimal(cell.getNumericCellValue());
NumberFormat format = NumberFormat.getInstance();
format.setMaximumFractionDigits(2);
format.setGroupingUsed(false);
cellData = format.format(num);

2.POI对日期的识别也比较弱,所以需要进行format

new SimpleDateFormat("yyyy-MM-dd").format(DateUtil.getJavaDate(cell.getNumericCellValue()));

详细的可以参考github上的代码

时间: 2024-10-10 00:25:12

使用Apache POI开源包进行Excel读取的相关文章

Apache POI – Reading and Writing Excel file in Java

来源于:https://www.mkyong.com/java/apache-poi-reading-and-writing-excel-file-in-java/ In this article, we will discuss about how to read and write an excel file using Apache POI 1. Basic definitions for Apache POI library This section briefly describe a

poi 架包导出excel,并下载

导出excel在许多系统中都有应用到,这里以两个简单例子作为介绍: 1.导入poi-3.9.jar,可以在官网下载http://poi.apache.org . 2.先写一个简单的测试类,里面有详细的解释,代码如下: 1 import java.io.FileOutputStream; 2 import java.io.IOException; 3 import org.apache.poi.hssf.usermodel.HSSFCell; 4 import org.apache.poi.hss

使用maven引入Apache poi jar包

maven构建的项目-->pom.xml文件 eclipse提供Dependencies直接添加依赖jar包的工具:直接搜索poi以及poi-ooxml即可,maven会自动依赖需要的jar包: poi提供microsoft office旧版本支持,eg .xls Excel poi-ooxml提供microsoft office新版本支持,eg .xlsx Excel 或者手动修改pom.xml,在添加jar包依赖的地方加入 1 <dependency> 2 <groupId&g

apache poi根据模板导出excel

需要预先新建编辑好一个excel文件,设置好样式. 编辑好输出的数据,根据excel坐标一一对应. 支持列表数据输出,列表中列合并. 代码如下: package com.icourt.util; import org.apache.commons.collections4.CollectionUtils; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.ss.user

使用Apache POI 读取Excel文件

生活中用到用到Excel文件的情况很多,什么商品进货单,产品维修单,餐厅的营业额等等.作为程序员,我们该如何读取Excel文件,获取我们想要的资源呢.本篇将讲解如何使用Apache POI读取Excel文件. 准备工作: 1)Apache POI 开发jar包 2)Excel资源文件,包括Excel2003,Excel2007这两种版本分别对应xls.xlsx文件. 本篇已经为您做好准备工作,请点击此处,下载资源文件,你也可以浏览Apace POI官网了解更多详细信息. 简要流程: 获取Work

Apache POI Java读取100万行Excel性能优化:split vs indexOf+subString,谁性能好

使用Apache POI eventmodel实现一个Excel流式读取类,目标是100万,每行46列,文件大小152MB的Excel文件能在20s读取并处理完.一开始实现的程序需要260s,离目标差太远了,使用jvisualvm分析各方法执行时间,结果如下: 可以看到,程序中的splitLine和getRowNum方法消耗了大量时间.这两个方法都特别简单.splitLine方法将类似“123==hello”这样的字符串分解成{"123","hello"}数组,使用

使用Apache POI写的一个生成Excel的工具类

话不多说,直接上代码,就一个类,注释也写得比较清楚了. /** * */ package com.common.office; import java.io.FileOutputStream; import java.lang.reflect.Field; import java.util.Calendar; import java.util.List; import org.apache.commons.collections.CollectionUtils; import org.apach

Apache POI -- Java 导出Excel文档(笔记)

一.Action类 import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Met

(2) 如何用Apache POI操作Excel文件-----如何在已有的Excel文件中插入一行新的数据?

在POI的第一节入门中,我们提供了两个简单的例子,一个是如何用Apache POI新建一个工作薄,另外一个例子是,如果用Apache POI新建一个工作表.那么在这个章节里面,我将会给大家演示一下,如何用Apache POI在已有的Excel文件中插入一行新的数据.具体代码,请看下面的例子. import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.