Ошибка java.lang.NoSuchFieldError: RETURN_NULL_AND_BLANK

582
03 августа 2017, 23:47

Создан класс для экспорта данных Jtable в Excel При выполнении возникает ошибка

Exception in thread "AWT-EventQueue-0" java.lang.NoSuchFieldError: RETURN_NULL_AND_BLANK

На строке

XSSFWorkbook wb = new XSSFWorkbook();

Сам класс

public class ExportExcel {
    private static String getCellValue(JTable table, int x, int y) {
        return table.getValueAt(x, y).toString();
    }
    public static void writeToExcel (JTable table) {
        XSSFWorkbook wb = new XSSFWorkbook();
        XSSFSheet ws = wb.createSheet();
        TreeMap<String, Object[]> data = new TreeMap<>();
        data.put("-1", new Object[]{table.getColumnName(0), table.getColumnName(1)});
        for (int i = 0; i < table.getRowCount(); i++) {
            data.put(Integer.toString(i), new Object[] {getCellValue(table, i, 0), getCellValue(table, i, 1)});
        }
        Set<String> ids = data.keySet();
        XSSFRow row;
        int rowId = 0;
        for (String key: ids) {
            row = ws.createRow(rowId++);
            Object[] values = data.get(key);
            int celId=0;
            for (Object o: values) {
                Cell cell = row.createCell(celId++);
                cell.setCellValue(o.toString());
            }
        }
        try {
            FileOutputStream fos = new FileOutputStream(new File("D:\\EXCEL.xlsx"));
            wb.write(fos);
            fos.close();
        } catch (Exception Ex) {
            Logger.getLogger(ExportExcel.class.getName()).log(Level.SEVERE, null, Ex);
            new errorDialog(null, new StringEntered(Ex.getMessage()).getStringEntered(100),
            new StringEntered().toString(Ex.getStackTrace()), "Программная ошибка", JOptionPane.ERROR_MESSAGE);
        }
    }

Исправил ошибку (поставил другую версию библиотек poi)

Но возникла другая на той же строке

Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: org.apache.poi.ss.SpreadsheetVersion.getMaxCellStyles()I
    at org.apache.poi.xssf.model.StylesTable.<clinit>(StylesTable.java:81)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
    at org.apache.poi.xssf.usermodel.XSSFFactory.newDocumentPart(XSSFFactory.java:71)
    at org.apache.poi.POIXMLDocumentPart.createRelationship(POIXMLDocumentPart.java:417)
    at org.apache.poi.POIXMLDocumentPart.createRelationship(POIXMLDocumentPart.java:376)
    at org.apache.poi.xssf.usermodel.XSSFWorkbook.onWorkbookCreate(XSSFWorkbook.java:439)
    at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:226)
    at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:217)
    at other.ExportExcel.writeToExcel(ExportExcel.java:32)
    at main.Naryads.jButton5ActionPerformed(Naryads.java:1725)
    at main.Naryads.access$6500(Naryads.java:56)
    at main.Naryads$51.actionPerformed(Naryads.java:1120)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6525)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3322)
    at java.awt.Component.processEvent(Component.java:6290)
    at java.awt.Container.processEvent(Container.java:2234)
    at java.awt.Component.dispatchEventImpl(Component.java:4881)
    at java.awt.Container.dispatchEventImpl(Container.java:2292)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
    at java.awt.Container.dispatchEventImpl(Container.java:2278)
    at java.awt.Window.dispatchEventImpl(Window.java:2739)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:751)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:702)
    at java.awt.EventQueue$3.run(EventQueue.java:696)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:724)
    at java.awt.EventQueue$4.run(EventQueue.java:722)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:721)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Answer 1

Библиотеки версии: 3.17, 3.16, 3.15, 3.14, 3.13, 3.12 не подходят ошибки:

RETURN_NULL_AND_BLANK

и

getMaxCellStyles()

В итоге подошла версия 3.11

READ ALSO
java.lang.NullPointerException Google Calendar API Quickstart

java.lang.NullPointerException Google Calendar API Quickstart

Решил тестировать пример Google Calendar API Quickstart по этой ссылке https://developersgoogle

347
UPDATE запрос к MySQL из Java

UPDATE запрос к MySQL из Java

Есть такой метод

360
Hibernate mapping saving issue

Hibernate mapping saving issue

У меня есть две проблемных сущности: Первая:

311
Ошибка getRunningServices is deprecated API 26

Ошибка getRunningServices is deprecated API 26

При написани данного кода:

659