Java 操作 Excel (读取Excel2007,Poi实现)

关于Java读取Excel2007的文章在Google、百度上搜索一下,没有太好的例子,实现的也不算太好。查看了一下Poi,最新的 POI 3.5 beta 4 支持读写 Excel2007和PPT2007(XLSX and PPTX),自己来实现Java读取Excel2007了。

1,下载 POI 3.5 beta 4 解压,把其中的jar包导入项目文件。以我的读取为例,导入了以下jar包。


 没有配置 log4j,测试时报告警报信息,应该为加载顺序导致的初始化问题造成(暂时没有找原因)。

2,建立读取 Excel2007 方法

Java代码  

  1. // 构造 XSSFWorkbook 对象,strPath 传入文件路径
  2. XSSFWorkbook xwb = new XSSFWorkbook(strPath);
  3. // 读取第一章表格内容
  4. XSSFSheet sheet = xwb.getSheetAt(0);
  5. // 定义 row、cell
  6. XSSFRow row;
  7. String cell;
  8. // 循环输出表格中的内容
  9. for (int i = sheet.getFirstRowNum(); i < sheet.getPhysicalNumberOfRows(); i++) {
  10. row = sheet.getRow(i);
  11. for (int j = row.getFirstCellNum(); j < row.getPhysicalNumberOfCells(); j++) {
  12. // 通过 row.getCell(j).toString() 获取单元格内容,
  13. cell = row.getCell(j).toString();
  14. System.out.print(cell + "\t");
  15. }
  16. System.out.println("");
  17. }

此过程直接传入文件所在路径,其他一些过程已经被自动实现。

3,测试,文件为8列3563行数据,以文本方式读取内容,

Java代码  

  1. public static void main(String[] args) {
  2. SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss:SS");
  3. TimeZone t = sdf.getTimeZone();
  4. t.setRawOffset(0);
  5. sdf.setTimeZone(t);
  6. Long startTime = System.currentTimeMillis();
  7. String fileName = "F:\\我的文档\\学生缴费代码.xlsx";
  8. // 检测代码
  9. try {
  10. PoiReadExcel er = new PoiReadExcel();
  11. // 读取excel2007
  12. er.testPoiExcel2007(fileName);
  13. } catch (Exception ex) {
  14. Logger.getLogger(FastexcelReadExcel.class.getName()).log(Level.SEVERE, null, ex);
  15. }
  16. Long endTime = System.currentTimeMillis();
  17. System.out.println("用时:" + sdf.format(new Date(endTime - startTime)));
  18. }

读取所用时间为:4.172秒。

Java 操作 Excel (读取Excel2007,Poi实现),布布扣,bubuko.com

时间: 2024-10-21 16:54:48

Java 操作 Excel (读取Excel2007,Poi实现)的相关文章

java操作Excel

一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象.它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象.它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等. 二.HSSF概况 HSSF 是Horrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”.也许HSSF的名字有点

Java 操作 Excel

这次的任务是实现数据的导入/导出功能,就是用Java操作Excel,上网找了一下,就Java来说用Apache的POI库的比较多,功能也相对比较强大.其他Excel开发库: http://www.oschina.net/project/tag/258/excel-tools Apache POI 下载地址: http://poi.apache.org/download.html 废话不多说,直接给几个例子就了解怎么用了. Excel 2003 (xls后缀) 1 import java.io.F

java操作Excel处理数字类型的精度损失问题验证

java操作Excel处理数字类型的精度损失问题验证: 场景: CELL_TYPE_NUMERIC-->CELL_TYPE_STRING--->CELL_TYPE_NUMERIC POI版本:poi-3.10.1poi-3.9 Code: package poi; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.i

java 操作 Excel,java导出excel

WritableWorkbook out = null; try { response.getServletResponse().reset(); ((HttpServletResponse) response.getServletResponse()).setHeader("Content-Disposition", "attachment;filename=export.xls"); response.getServletResponse().setConten

Java操作Excel之POI简单例子

21 /** 22 * 利用POI操作Excel表单 23 * 24 * 需要jar包: 25 * HSSF针对03及以前版本,即.xls后缀 26 * |---poi-3.16.jar 27 * XSSF针对07及以后版本,即xlsx后缀 28 * |---poi-3.16.jar 29 * |---poi-ooxml.3.16.jar 30 * |---poi-ooxml-schemas-3.16.jar 31 * |---xmlbeans-2.6.0.jar 32 * |---common

Java操作Excel学习

一. POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 二. HSSF概况 HSSF 是Horrible SpreadSheet Format的缩写,通过HSSF,你可以用纯Java代码来读取.写入.修改Excel文件.HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即"用户模型"和"事件-用户模型". 三. POI

java 操作excel 文件

JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表.因为它是使用Java编写的,所以我们在Web应用中可以通过JSP.Servlet来调用API实现对Excel数据表的访问. 下载: 官方网站 http://www.andykhan.com/jexcelapi/ 下载最新版本(本人下的是jexcelapi_2_6

Java操作excel表格

最近老师布置了个任务,用Java对excel后缀名为xlsx的文件进行简单的增,删,改,查操作:虽说是个简单的程序,可作为刚接触的我来说还是有些磕磕碰碰.不过好在还是完成了,进行一个简单的总结. 首先导入了一个poi.jar 网上有很多这个资源可以下载 XSSFSheet sheet=null;XSSFWorkbook book=null; 一:查  (查找本地指定位置的excel表格,在控制台输出) public void print_excel(){ //获取excel表格的行数 int l

Java导出Excel表(poi)名中文乱码问题处理

<pre name="code" class="java">String _filename = ValidateTools.date2Str(date, "yyyyMMddHHmmss"); String filename = f_name + _filename; HSSFSheet sheet; HSSFCell cell; response.setContentType("application/x-download