`
yuanbian007
  • 浏览: 19936 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

POI读取xlsx文件后删除原文件的问题

阅读更多

 

 最近在做遍历文件夹并从中读取数据的模块,其中涉及到用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;
 }
分享到:
评论

相关推荐

    POI解析xlsx文件

    至于提供的`TestRead.java`文件,这可能是一个示例代码,用于演示如何使用Apache POI读取.xlsx文件。在这个示例中,开发者可能会展示如何加载文件,遍历工作表,打印单元格内容等步骤,以便于理解POI的用法。 总结...

    poi读取xlsx和xls

    标题中的“poi读取xlsx和xls”指的是使用Apache POI库来处理Microsoft Office的两种不同文件格式:Excel的.xlsx(基于OpenXML标准)和.xls(基于老版的BIFF格式)。Apache POI是一个流行的Java库,它允许开发人员在...

    Java POI 生成Excel(xlsx)文件

    在Java中,如果你需要生成或操作Excel文件,尤其是.xlsx格式(这是Excel 2007及以上版本使用的Open XML格式),那么Apache POI库就是首选工具。下面将详细介绍如何使用Java POI库来生成Excel(xlsx)文件。 首先,...

    读取xlsx文件的poi jar包

    在本案例中,我们将聚焦于使用Apache POI来读取.xlsx文件,这是一种基于OpenXML标准的Excel文件格式。 首先,你需要在项目中引入Apache POI的jar包,通常这可以通过Maven或Gradle等构建工具完成。如果已有一个名为...

    一个简单的基于Android读取xls和xlsx文件的例子

    这个例子将讲解如何使用Apache POI库来读取xls和xlsx格式的文件。Apache POI是一个流行的开源Java API,专为Microsoft Office文件格式提供读写功能,包括Excel。 首先,要开始这个项目,你需要在你的Android工程中...

    测试poi操作xlsx的压缩炸弹xlsx文件

    Apache POI是一个流行的开源Java库,用于读取、写入Microsoft Office格式的文件,包括Excel的XLS和XLSX格式。压缩炸弹是一种恶意的压缩文件,设计用来在解压时占用大量的磁盘空间或计算资源,可能导致系统崩溃或性能...

    poi读取excel的jar包

    标题中的"poi读取excel的jar包"指的是Apache POI库的一个版本,它包含了读取Excel 2007文件所需的类和方法。在Java程序中,引入这个jar包后,开发者可以编写代码来处理.xlsx文件,无论是读取数据、解析工作表还是...

    如何用 poi读取excel2007文件 附源代码和全部jar包

    本文将详细讲解如何使用Apache POI读取Excel 2007(.xlsx)文件,并提供相关的源代码和jar包。 首先,理解Apache POI中的主要类和接口是关键。对于读取Excel 2007文件,我们主要会用到`XSSFWorkbook`和` XSSFSheet`...

    poi读取excel文件

    标题提到的"poi读取excel文件",指的是使用Apache POI库来处理Excel数据。在最新的版本中,POI引入了更高效和强大的功能,使得处理Excel文件变得更加方便。 描述中提到了"最新版poi相关的6个jar包",这些jar包是...

    使用poi将xls转为xlsx,所有样式完美转换

    使用poi将xls格式的Excel转为xlsx,文件中的所有样式都可以完美转换,例如合并栏、背景和单元格样式等。Java源码

    Java 读取本地.xls .xlsx文件

    总之,使用Apache POI库,Java程序员可以方便地读取和操作Excel文件,无论是老式的.xls还是现代的.xlsx格式。希望这个概述能帮助你理解Java中处理Excel文件的基本思路,并在实际项目中灵活应用。

    使用POI读写Excel文件(兼容xls与xlsx版本)

    Apache POI是一个开源项目,专门用于读取和写入Microsoft Office格式的文件,包括Excel的.xls和.xlsx格式。这篇博客“使用POI读写Excel文件(兼容xls与xlsx版本)”深入探讨了如何利用Apache POI库在Java环境中处理...

    Java POI根据模板生成Excel(xlsx)文件

    Java POI库是一个广泛使用的开源项目,专门用于处理Microsoft Office格式的文件,包括Excel的.xls和.xlsx文件。在本示例中,我们关注的是如何利用Java POI来根据模板生成.xlsx格式的Excel文件。这个过程涉及到对...

    读取xlsx文件jar包

    总的来说,使用Apache POI库的jar包,开发者可以在Java环境中轻松地读取和操作xlsx和xls文件,实现数据的导入、导出和分析等功能。确保正确引用所需的jar包,并根据文件格式选择相应的类,你就可以在项目中灵活地...

    poi 3.9读取excel xls xlsx 有jar包

    Apache POI 是一款开源的Java库,用于处理Microsoft Office格式的文件,如Excel(XLS和XLSX)。在标题中提到的“poi 3.9读取excel xls xlsx 有jar包”,指的是使用Apache POI 3.9版本来读取Excel的工作簿(XLS和XLSX...

    java使用poi读取xls格式和xlsx格式的excel文件

    本主题将深入探讨如何使用POI读取.xls(BIFF8格式,Excel 97-2003)和.xlsx(OOXML格式,Excel 2007及以上版本)两种不同格式的Excel文件。 首先,我们需要导入必要的库。在上述的文件列表中,我们看到有poi-3.9....

    java poi技术读取xls,xlsx文件所需的完整jar包

    Java中的Apache POI库是一个强大的工具,专门用于处理Microsoft Office格式的文件,特别是Excel的.xls和.xlsx文件。这个库使得开发者能够用纯Java代码来创建、修改和读取Excel文件,极大地扩展了Java在电子表格处理...

    poi读取大文件Excel,使用xml格式解析,速度实测50mb文件13s,可指定sheet页内容,带工具类和测试类

    5. **工具类和测试类**: 提供的工具类可能包含了对大文件读取的封装,简化了调用接口。测试类则用于验证和确保代码的正确性,通常包括各种边界条件和性能测试。 为了实现上述功能,开发者需要实现`...

    java读写xlsx文件

    本主题将深入探讨如何使用Apache POI库来读取和写入Excel 2010(xlsx)文件。Apache POI是Java社区开发的一个开源项目,专门用于处理Microsoft Office格式的文件,包括Word、Excel和PowerPoint。 首先,我们需要...

    JAVA用poi解析doc、docx、slx、xlsx

    在Java编程环境中,Apache POI库是一个非常实用的工具,用于读取和写入Microsoft Office格式的文件,如Word(doc、docx)和Excel(xls、xlsx)。本篇文章将详细探讨如何使用Apache POI来解析这四种类型的文件,并...

Global site tag (gtag.js) - Google Analytics