【POI xls】解析xls遇到的问题

问题1:Package should contain a content type part

 1 org.apache.poi.POIXMLException: org.apache.poi.openxml4j.exceptions.InvalidFormatException: Package should contain a content type part [M1.13]
 2     at org.apache.poi.util.PackageHelper.open(PackageHelper.java:39)
 3     at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:274)
 4     at com.agen.test1.SecondTest.test2(SecondTest.java:33)
 5     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 6     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 7     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 8     at java.lang.reflect.Method.invoke(Method.java:606)
 9     at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
10     at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
11     at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
12     at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
13     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
14     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
15     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
16     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
17     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
18     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
19     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
20     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
21     at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
22     at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
23     at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
24     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
25     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
26     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
27     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
28 Caused by: org.apache.poi.openxml4j.exceptions.InvalidFormatException: Package should contain a content type part [M1.13]
29     at org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:197)
30     at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:696)
31     at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:280)
32     at org.apache.poi.util.PackageHelper.open(PackageHelper.java:37)
33     ... 25 more
View Code

解决方法:

问题2:Cannot get a text value from a numeric cell

 1 java.lang.IllegalStateException: Cannot get a text value from a numeric cell
 2     at org.apache.poi.hssf.usermodel.HSSFCell.typeMismatch(HSSFCell.java:640)
 3     at org.apache.poi.hssf.usermodel.HSSFCell.getRichStringCellValue(HSSFCell.java:717)
 4     at org.apache.poi.hssf.usermodel.HSSFCell.getStringCellValue(HSSFCell.java:700)
 5     at com.agen.test1.SecondTest.test2(SecondTest.java:52)
 6     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 7     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 8     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 9     at java.lang.reflect.Method.invoke(Method.java:606)
10     at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
11     at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
12     at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
13     at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
14     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
15     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
16     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
17     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
18     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
19     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
20     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
21     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
22     at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
23     at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
24     at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
25     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
26     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
27     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
28     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
View Code

解决方法:

原文地址:https://www.cnblogs.com/sxdcgaq8080/p/5841099.html