1

我想创建excel文件并使用java程序在该文件中写入数据。

就是在这里,我在存在 java 文件的位置提取了 Apache POI。并将该路径包含在路径变量中。

当我尝试编译它时给出以下错误:

data.java:3: package org.apache.poi.hssf.usermodel does not exist
import org.apache.poi.hssf.usermodel.HSSFCell;
                                    ^
data.java:4: package org.apache.poi.hssf.usermodel does not exist
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
                                    ^
data.java:5: package org.apache.poi.hssf.usermodel does not exist
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
                                    ^
data.java:6: package org.apache.poi.hssf.usermodel does not exist
import org.apache.poi.hssf.usermodel.HSSFRow;
                                    ^
data.java:7: package org.apache.poi.hssf.usermodel does not exist
import org.apache.poi.hssf.usermodel.HSSFSheet;
                                    ^
data.java:8: package org.apache.poi.hssf.usermodel does not exist
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
                                    ^
data.java:11: package org.apache.poi.hssf.usermodel does not exist
import org.apache.poi.hssf.usermodel.HSSFFont;
                                    ^
data.java:12: package org.apache.poi.ss.usermodel does not exist
import org.apache.poi.ss.usermodel.IndexedColors;
                              ^

这是 Poi 文件列表。在这个列表中我必须包括哪一个?

root@:[/u01/isac/code/CWSA/isac/java/exportAPI/poi-3.9]

$ ll    

total 9044    

-rw-r--r--  1 root root   27138 Nov 25 15:23 LICENSE    
-rw-r--r--  1 root root     890 Nov 25 15:23 NOTICE    
drwxr-xr-x 16 root root    4096 Nov 26 17:22 docs    
drwxr-xr-x  2 root root    4096 Nov 26 17:22 lib    
drwxr-xr-x  2 root root    4096 Nov 26 17:22 ooxml-lib    
-rw-r--r--  1 root root 1869113 Nov 26 17:22 poi-3.9-20121203.jar    
-rw-r--r--  1 root root  309368 Nov 26 17:22 poi-examples-3.9-20121203.jar    
-rw-r--r--  1 root root   30446 Nov 26 17:22 poi-excelant-3.9-20121203.jar    
-rw-r--r--  1 root root  936648 Nov 26 17:22 poi-ooxml-3.9-20121203.jar    
-rw-r--r--  1 root root 4802621 Nov 26 17:22 poi-ooxml-schemas-3.9-20121203.jar    
-rw-r--r--  1 root root 1226511 Nov 26 17:22 poi-scratchpad-3.9-20121203.jar
4

2 回答 2

2

您应该在javac的-cp选项中指定 jar 位置:

javac -cp /path/to/your/jar/poi-<version>.jar data.java

此外,您可能希望使用构建工具来管理您的依赖关系,例如mavenivy用于 ant。

于 2013-01-28T13:23:52.067 回答
1

您必须将 jar 文件(poi lib)放在类路径中,而不是与 data.java 相同的目录。(顺便说一句,它应该是 Data.java)。因为你很可能有自己的包结构,比如com.myapp.

并且PATH变量与java类路径无关。如果设置或取消设置它没有区别。

于 2013-01-28T13:18:34.593 回答