最近在做遍历文件夹并从中读取数据的模块,其中涉及到用POI从xlsx文件中读取数据,并保存到数据库中,操作完之后肯定要删除掉原文件,没想到在删除的时候出了问题,耽误了不少时间。
读取完数据,使用file.delete();方法来删除原文件,结果一直删不掉,各种搜索各种尝试各种清空参数甚至用system.gc();都不行。
最后解决的方法是换了一个XSSFWorkbook的构造函数(XSSFWorkbook有四个构造函数)。本来是使用xwb = new XSSFWorkbook(path);现在是先实例化一个文件输入流,以输入流为参数构造XSSFWorkbook,处理结束后关闭输入流。顿时觉得很无语很神奇,不太明白是为什么,但首先问题是解决了。
下面是读取xlsx的代码:
public List<String[]> getDatasInSheet(String path) {
List<String[]> result = new ArrayList<String[]>();
XSSFWorkbook xwb = null;
XSSFSheet sheet = null;
// 定义 row、cell
XSSFRow row;
String cell;
FileInputStream fis = null;
try{
fis = new FileInputStream(path);
xwb = new XSSFWorkbook(fis);
// 读取指定表格内容
sheet = xwb.getSheetAt(0);
// 循环输出表格中的内容
for (int i = sheet.getFirstRowNum(); i < sheet.getPhysicalNumberOfRows(); i++) {
row = sheet.getRow(i);
String[] rowData = new String[row.getPhysicalNumberOfCells()];
for (int j = row.getFirstCellNum(); j < row.getPhysicalNumberOfCells(); j++) {
// 通过 row.getCell(j).toString() 获取单元格内容,
cell = row.getCell(j).toString();
rowData[j]=cell;
}
result.add(rowData);
}
fis.close();
}catch (Exception e) {
e.printStackTrace();
}
return result;
}
分享到:
相关推荐
至于提供的`TestRead.java`文件,这可能是一个示例代码,用于演示如何使用Apache POI读取.xlsx文件。在这个示例中,开发者可能会展示如何加载文件,遍历工作表,打印单元格内容等步骤,以便于理解POI的用法。 总结...
标题中的“poi读取xlsx和xls”指的是使用Apache POI库来处理Microsoft Office的两种不同文件格式:Excel的.xlsx(基于OpenXML标准)和.xls(基于老版的BIFF格式)。Apache POI是一个流行的Java库,它允许开发人员在...
在Java中,如果你需要生成或操作Excel文件,尤其是.xlsx格式(这是Excel 2007及以上版本使用的Open XML格式),那么Apache POI库就是首选工具。下面将详细介绍如何使用Java POI库来生成Excel(xlsx)文件。 首先,...
在本案例中,我们将聚焦于使用Apache POI来读取.xlsx文件,这是一种基于OpenXML标准的Excel文件格式。 首先,你需要在项目中引入Apache POI的jar包,通常这可以通过Maven或Gradle等构建工具完成。如果已有一个名为...
这个例子将讲解如何使用Apache POI库来读取xls和xlsx格式的文件。Apache POI是一个流行的开源Java API,专为Microsoft Office文件格式提供读写功能,包括Excel。 首先,要开始这个项目,你需要在你的Android工程中...
Apache POI是一个流行的开源Java库,用于读取、写入Microsoft Office格式的文件,包括Excel的XLS和XLSX格式。压缩炸弹是一种恶意的压缩文件,设计用来在解压时占用大量的磁盘空间或计算资源,可能导致系统崩溃或性能...
标题中的"poi读取excel的jar包"指的是Apache POI库的一个版本,它包含了读取Excel 2007文件所需的类和方法。在Java程序中,引入这个jar包后,开发者可以编写代码来处理.xlsx文件,无论是读取数据、解析工作表还是...
本文将详细讲解如何使用Apache POI读取Excel 2007(.xlsx)文件,并提供相关的源代码和jar包。 首先,理解Apache POI中的主要类和接口是关键。对于读取Excel 2007文件,我们主要会用到`XSSFWorkbook`和` XSSFSheet`...
标题提到的"poi读取excel文件",指的是使用Apache POI库来处理Excel数据。在最新的版本中,POI引入了更高效和强大的功能,使得处理Excel文件变得更加方便。 描述中提到了"最新版poi相关的6个jar包",这些jar包是...
使用poi将xls格式的Excel转为xlsx,文件中的所有样式都可以完美转换,例如合并栏、背景和单元格样式等。Java源码
总之,使用Apache POI库,Java程序员可以方便地读取和操作Excel文件,无论是老式的.xls还是现代的.xlsx格式。希望这个概述能帮助你理解Java中处理Excel文件的基本思路,并在实际项目中灵活应用。
Apache POI是一个开源项目,专门用于读取和写入Microsoft Office格式的文件,包括Excel的.xls和.xlsx格式。这篇博客“使用POI读写Excel文件(兼容xls与xlsx版本)”深入探讨了如何利用Apache POI库在Java环境中处理...
Java POI库是一个广泛使用的开源项目,专门用于处理Microsoft Office格式的文件,包括Excel的.xls和.xlsx文件。在本示例中,我们关注的是如何利用Java POI来根据模板生成.xlsx格式的Excel文件。这个过程涉及到对...
总的来说,使用Apache POI库的jar包,开发者可以在Java环境中轻松地读取和操作xlsx和xls文件,实现数据的导入、导出和分析等功能。确保正确引用所需的jar包,并根据文件格式选择相应的类,你就可以在项目中灵活地...
Apache POI 是一款开源的Java库,用于处理Microsoft Office格式的文件,如Excel(XLS和XLSX)。在标题中提到的“poi 3.9读取excel xls xlsx 有jar包”,指的是使用Apache POI 3.9版本来读取Excel的工作簿(XLS和XLSX...
本主题将深入探讨如何使用POI读取.xls(BIFF8格式,Excel 97-2003)和.xlsx(OOXML格式,Excel 2007及以上版本)两种不同格式的Excel文件。 首先,我们需要导入必要的库。在上述的文件列表中,我们看到有poi-3.9....
Java中的Apache POI库是一个强大的工具,专门用于处理Microsoft Office格式的文件,特别是Excel的.xls和.xlsx文件。这个库使得开发者能够用纯Java代码来创建、修改和读取Excel文件,极大地扩展了Java在电子表格处理...
5. **工具类和测试类**: 提供的工具类可能包含了对大文件读取的封装,简化了调用接口。测试类则用于验证和确保代码的正确性,通常包括各种边界条件和性能测试。 为了实现上述功能,开发者需要实现`...
本主题将深入探讨如何使用Apache POI库来读取和写入Excel 2010(xlsx)文件。Apache POI是Java社区开发的一个开源项目,专门用于处理Microsoft Office格式的文件,包括Word、Excel和PowerPoint。 首先,我们需要...
在Java编程环境中,Apache POI库是一个非常实用的工具,用于读取和写入Microsoft Office格式的文件,如Word(doc、docx)和Excel(xls、xlsx)。本篇文章将详细探讨如何使用Apache POI来解析这四种类型的文件,并...