首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >线程"main“java.lang.NoSuchFieldError中的异常:工厂

线程"main“java.lang.NoSuchFieldError中的异常:工厂
EN

Stack Overflow用户
提问于 2022-01-06 11:18:49
回答 5查看 8.2K关注 0票数 5

最近将POI版本从3.17升级到5.1,并在3.x中运行的代码下面的代码现在失效了,(JDK1.8)

下面是使用的一组Jar

下面是我的存根:

代码语言:javascript
运行
复制
import java.io.File;
import java.io.FileInputStream;
import java.util.Iterator;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ReadExcelDemo 
{
    public static void main(String[] args) 
    {
        try
        {
            FileInputStream file = new FileInputStream(new File("D:\\TemporaryUploadContainer\\61C50E5C2395C7FB48499BCFDD797F15_QuickCartExample.xlsx"));
 
            //Workbook workbook1 = WorkbookFactory.create(file);
            //Sheet sheet1 = workbook1.getSheetAt(0);
                        
            XSSFWorkbook workbook = new XSSFWorkbook(file);
            XSSFSheet sheet = workbook.getSheetAt(0);
 
            //Iterate through each rows one by one
            Iterator<Row> rowIterator = sheet.iterator();
            while (rowIterator.hasNext()) 
            {
                Row row = rowIterator.next();
                //For each row, iterate through all the columns
                Iterator<Cell> cellIterator = row.cellIterator();
                 
                while (cellIterator.hasNext()) 
                {
                    Cell cell = cellIterator.next();
                    //Check the cell type and format accordingly
                    switch (cell.getCellType()) 
                    {
                        case NUMERIC:
                            System.out.print(cell.getNumericCellValue() + "t");
                            break;
                        case STRING:
                            System.out.print(cell.getStringCellValue() + "t");
                            break;
                    }
                }
                System.out.println("");
            }
            file.close();
        } 
        catch (Exception e) 
        {
            e.printStackTrace();
        }
    }
}

下面的Workbook workbook1 = WorkbookFactory.create(file);错误

线程"main“中的org.apache.poi.xssf.model.ThemesTable.(ThemesTable.java:86)异常:工厂位于org.apache.poi.ooxml.POIXMLFactory.createDocumentPart(POIXMLFactory.java:61) at org.apache.poi.ooxml.POIXMLDocumentPart.read(POIXMLDocumentPart.java:661) at org.apache.poi.ooxml.POIXMLDocument.load(POIXMLDocument.java:165) at org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:275) at org.apache.poi。xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:296) at test.XLSXReaderWriterP21.readRecordsFromFile(XLSXReaderWriterP21.java:76) at test.XLSXReaderWriterP21.main(XLSXReaderWriterP21.java:57)

下面的XSSFWorkbook workbook = new XSSFWorkbook(file);错误

线程"main“中的org.apache.poi.xssf.model.ThemesTable.(ThemesTable.java:86)异常:工厂位于org.apache.poi.ooxml.POIXMLFactory.createDocumentPart(POIXMLFactory.java:61) at org.apache.poi.ooxml.POIXMLDocumentPart.read(POIXMLDocumentPart.java:661) at org.apache.poi.ooxml.POIXMLDocument.load(POIXMLDocument.java:165) at org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:275) at org.apache.poi。xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:296) at test.ReadExcelDemo.main(ReadExcelDemo.java:26)

EN

回答 5

Stack Overflow用户

发布于 2022-03-20 10:10:37

我也有同样的问题。尝试删除poi-ooxml-schemas-4.1.2.jar,并添加poi-ooxml-lite-5.2.1.jar

票数 11
EN

Stack Overflow用户

发布于 2022-06-05 05:34:03

在使用Netbeans时,我也遇到了同样的问题:

代码语言:javascript
运行
复制
XSSFWorkbook workbook = new XSSFWorkbook(fis);

代码语言:javascript
运行
复制
Workbook workbook = WorkbookFactory.create(inputFile);

我修正了修改poi-ooxml-schemas-4.1.2.jar for poi-ooxml-litt-5.2.2.jar的问题。

票数 2
EN

Stack Overflow用户

发布于 2022-05-11 15:01:57

我认为你只适应了同样的版本,这符合这个常见问题的https://poi.apache.org/help/faq.html#faq-N10204

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70606327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档