POI生成(Excel 2007).xlsx文件时报“java.lang.NoSuchMethodError”错误的解决

在MyEclipse 8.6下使用POI生成.xlsx文件时遇到"java.lang.NoSuchMethodError",尝试升级JRE到1.7.0_80无效。后来发现MyEclipse 10能解决问题,但原因不明。文章详述了问题背景、环境配置、错误情况以及解决方案。
摘要由CSDN通过智能技术生成

概述:本文主要讲了笔者在MyEclipse 8.6平台下利用POI生成.xlsx文件时报“java.lang.NoSuchMethodErrorjavax.xml.stream.XMLEventFactory.newFactory()LjavaxxmlstreamXMLEventFactory”错误的问题的解决。笔者从stackoverflow得知Apache POI生成.xlsx文件的前提条件是Java版本不低于1.6.0_18,由于MyEclipse8.6默认的JRE版本是1.6.0_13,笔者将JRE版本改到了1.7.0_80,可结果还是出现原来的错误。从朋友得知,在JRE和Jar包相同的情况下,新版的MyEclipse 10可以解决该问题。于是改用MyEclipse 10,问题解决。尽管如此,笔者暂时搞不清为何在运行环境、编译器版本、Jar包相同的情况下,不同版本的MyEclipse会有不同的效果,希望知道原理的朋友留言反馈,也可以给大家一个参考,节省大家时间精力。

 

 

下面详细描述一下解决问题的过程。

 

1.        运行环境:

IDE:MyEclipse 8.6

JRE版本:1.6.0_13

引用Jar包:

(POI相关)

poi-3.11-20141221.jar

poi-ooxml-3.11-20141221.jar

poi-ooxml-schemas-3.11-20141221.jar

xmlbeans-2.6.0.jar

(Junit相关)

hamcrest-core-1.3.jar

junit-4.12.jar

 

2.        Java代码:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Apache POI库可以轻松地读取Excel文件。下面是一个使用XSSFWorkbook类读取.xlsx文件的示例代码: ```java import java.io.File; import java.io.FileInputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class ReadExcel { public static void main(String[] args) { try { // 读取文件 File file = new File("data.xlsx"); FileInputStream inputStream = new FileInputStream(file); // 创建工作簿对象 XSSFWorkbook workbook = new XSSFWorkbook(inputStream); // 获取第一个工作表 org.apache.poi.ss.usermodel.Sheet sheet = workbook.getSheetAt(0); // 循环读取每一行数据 for (Row row : sheet) { // 循环读取每一个单元格数据 for (Cell cell : row) { // 输出单元格内容 System.out.print(cell.toString() + "\t"); } System.out.println(); } // 关闭输入流 inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 这个程序将打开名为“data.xlsx”的文件,并将其读取到XSSFWorkbook对象中。然后,它获取工作表中的第一个工作表,并使用循环遍历每一行和每一个单元格,输出单元格的内容。最后,它关闭输入流。 请注意,此示例代码需要添加Apache POI库的依赖项。您可以在Maven中添加以下依赖项: ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值