Java 需要从xlsx文件访问数据 公共类文件读取器{ 公共静态void main(字符串[]args)引发IOException{ 字符串excelFilePath=“sample.xlsx”; InputStream InputStream=新文件InputStream(新文件(excelFilePath)); XSSFWorkbook工作簿=新XSSFWorkbook(); Sheet firstSheet=工作簿。getSheetAt(0); 迭代器迭代器=firstSheet.Iterator(); while(iterator.hasNext()){ 行nextRow=iterator.next(); 迭代器cellIterator=nextRow.cellIterator(); ...

Java 需要从xlsx文件访问数据 公共类文件读取器{ 公共静态void main(字符串[]args)引发IOException{ 字符串excelFilePath=“sample.xlsx”; InputStream InputStream=新文件InputStream(新文件(excelFilePath)); XSSFWorkbook工作簿=新XSSFWorkbook(); Sheet firstSheet=工作簿。getSheetAt(0); 迭代器迭代器=firstSheet.Iterator(); while(iterator.hasNext()){ 行nextRow=iterator.next(); 迭代器cellIterator=nextRow.cellIterator(); ...,java,eclipse,xlsx,Java,Eclipse,Xlsx,在XSSF工作簿行中显示了错误 public class fileReader { public static void main (String[] args) throws IOException { String excelFilePath = "sample.xlsx"; InputStream inputStream = new FileInputStream(new File(excelFilePath)); XSSFWor

在XSSF工作簿行中显示了错误

public class fileReader {

    public static void main (String[] args) throws IOException {
        String excelFilePath = "sample.xlsx";
        InputStream inputStream = new FileInputStream(new File(excelFilePath));

        XSSFWorkbook workbook = new XSSFWorkbook();
        Sheet firstSheet = workbook.getSheetAt(0);
        Iterator<Row> iterator = firstSheet.iterator();

        while (iterator.hasNext()) {
            Row nextRow = iterator.next();
            Iterator<Cell> cellIterator = nextRow.cellIterator();
        ...
线程“main”org.apache.poi.ooxml.poixmleexception中的异常:org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions; 在org.apache.poi.ooxml.poimmlfactory.createDocumentPart(poimmlfactory.java:66)上 在org.apache.poi.ooxml.poimmldocumentpart.read(poimmldocumentpart.java:657) 位于org.apache.poi.ooxml.POIXMLDocument.load(POIXMLDocument.java:180) 位于org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:282) 位于org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:303) 位于fileReader.main(fileReader.java:20)
您没有读取文件。您正在创建一个新工作簿。因此我怀疑您遇到了异常,因为您要求的是一张没有的
工作表

使用将文件提供给实例



如果将文件提供给工作簿实例,则会出现一个错误,显示无法将文件解析为类型


只需要导入
java.io.File

您能告诉我们错误吗?但要读取文件,您需要使用向工作簿实例提供
文件
,或者如果将文件提供给工作簿实例,则会发生错误,显示文件无法解析为类型。缺少哪个导入?您还可以添加jar列表吗您是否已包含?不,不是,您的代码是
XSSFWorkbook工作簿=新XSSFWorkbook();
XSSFWorkbook工作簿=新XSSFWorkbook(inputStream);//如果是这样给出的,则会显示另一个与构造函数XSSFWorkbook(inputStream)类似的错误如果是从Apache POIWell下载的undefinedpoi bin-4.1.0最新版本,那么您应该检查导入并清理项目,因为它在4.1中有定义。您应该找到至少
import org.Apache.poi.xssf.usermodel.xssf工作簿
java.io.InputStream
是poi bin-4.1.0,只用于运行这个程序?
Exception in thread "main" org.apache.poi.ooxml.POIXMLException: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
    at org.apache.poi.ooxml.POIXMLFactory.createDocumentPart(POIXMLFactory.java:66)
    at org.apache.poi.ooxml.POIXMLDocumentPart.read(POIXMLDocumentPart.java:657)
    at org.apache.poi.ooxml.POIXMLDocument.load(POIXMLDocument.java:180)
    at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:282)
    at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:303)
    at fileReader.main(fileReader.java:20)
String excelFilePath = "sample.xlsx";
File f = new File(excelFilePath);
XSSFWorkbook workbook = new XSSFWorkbook(f);
String excelFilePath = "sample.xlsx";
File f = new File(excelFilePath);
InputStream inputStream = new FileInputStream(f);
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);