我正在尝试使用java从.xlsx文件读取文件。 但是我仍然得到错误。 我已经将hssf更正为XSSF所以它能够读取过去的2007版本的Excel。 实例化工作簿时代码崩溃。 这里是代码:
package excelread; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class ReadExcel { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // Todo Auto-generated method stub File excel = new File ("C:/Users/Leah-Dina/Desktop/LogFile.xlsx"); FileInputStream fis = new FileInputStream(excel); XSSFWorkbook wb = new XSSFWorkbook(fis); XSSFSheet ws = wb.getSheet("Input"); int rowNum = ws.getLastRowNum() + 1; int colNum = ws.getRow(0).getLastCellNum(); String [][] data = new String [rowNum] [colNum]; for(int i = 0; i <rowNum; i++){ XSSFRow row = ws.getRow(i); for (int j = 0; j < colNum; j++){ XSSFCell cell = row.getCell(j); String value = cell.toString(); data[i][j] = value; System.out.println ("the value is " + value); } } } }
在这里,你可以看到我得到的错误信息:似乎一切都被导入,我不知道什么是错的。
Exception in thread "main" java.lang.NoClassDefFoundError: org/dom4j/DocumentException at org.apache.poi.openxml4j.opc.OPCPackage.init(OPCPackage.java:154) at org.apache.poi.openxml4j.opc.OPCPackage.<init>(OPCPackage.java:141) at org.apache.poi.openxml4j.opc.Package.<init>(Package.java:54) at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:82) at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:267) at org.apache.poi.util.PackageHelper.open(PackageHelper.java:39) at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:204) at excelread.ReadExcel.main(ReadExcel.java:21) Caused by: java.lang.classNotFoundException: org.dom4j.DocumentException at java.net.urlclassloader$1.run(UnkNown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.urlclassloader.findClass(UnkNown Source) at java.lang.classLoader.loadClass(UnkNown Source) at sun.misc.Launcher$AppClassLoader.loadClass(UnkNown Source) at java.lang.classLoader.loadClass(UnkNown Source) ... 8 more
获取mod_rewrite传递$ _GET参数?
我需要在我的服务器上运行node.js脚本?
ApacheConnectorProvider:Jersey Client 2.5.1
使用Apache POI刷新数据透视表
单个ErrorDocument指令捕获所有错误(.htaccess)
Apache 2多视图和406图像/ *请求错误
iphone / ipadnetworkingvideo只能播放超过3G不Wifi
Apache交叉编译错误./gen_test_char:无法执行二进制文件
configurationhtaccess以绕过直接链接到CSS和Javascript文件
首先,确保Apache POI依赖的所有库位于您的类路径中。 在这种情况下,你肯定会丢失Dom4J(dom4j-1.6.1.jar)。 可能你可能会缺少其他库,如stax-api-1.0.1.jar,xmlbeans-2.3.0.jar和poi-ooxml-schemas-3.9.jar。 所有必要的库都包含在可从Apache POI网站下载的发行版中。
第21行似乎是这一行:
XSSFWorkbook wb = new XSSFWorkbook(fis);
所以你的电子表格可能有问题。 把Dom4J放在你的类路径上只允许创建DocumentException ,但希望能告诉你你的电子表格有什么问题(如果有的话)。
你应该包含dom4j-1.6.1.jar文件
如果您在eclipse IDE中工作,只需将您的poi库粘贴到您的web-inf lib目录中即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。