Xandr24
@Xandr24
учиться и еще раз учиться

Почему не создается лист в эксель (apach poi)?

Добрый вечер.
Пробую либу Apach Poi, файл удается создать, но листы ни в какую.
Вот ссылка на оф доки какие юзаю (раздел new sheet почти в самом верху)
https://poi.apache.org/components/spreadsheet/quic...
Вот мой код:
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class Main {
    public static void main(String[] args) {
        Workbook wb = new HSSFWorkbook();  // or new XSSFWorkbook();
        Sheet sheet = wb.createSheet("fhgfgh");
        OutputStream file = null;
        try {
            file = new FileOutputStream("111.xls");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        try {
            wb.write(file);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

А вот куча ошибок , но при этом всем сам excel файл создается с одним листом имя которого равно имени самого файла
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/math3/util/ArithmeticUtils
at org.apache.poi.poifs.property.RootProperty.setSize(RootProperty.java:59)
at org.apache.poi.poifs.property.DirectoryProperty.(DirectoryProperty.java:52)
at org.apache.poi.poifs.property.RootProperty.(RootProperty.java:31)
at org.apache.poi.poifs.property.PropertyTable.(PropertyTable.java:58)
at org.apache.poi.poifs.filesystem.POIFSFileSystem.(POIFSFileSystem.java:99)
at org.apache.poi.poifs.filesystem.POIFSFileSystem.(POIFSFileSystem.java:121)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.write(HSSFWorkbook.java:1357)
at Main.main(Main.java:22)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.math3.util.ArithmeticUtils
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:636)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
... 8 more

Помогите пожалуйста разобраться в чем проблема!
  • Вопрос задан
  • 183 просмотра
Пригласить эксперта
Ответы на вопрос 2
xez
@xez Куратор тега Java
TL Junior Roo
Похоже, проблемма в отстутствии пакета org.apache.commons, который нужен библиотеке apache.poi
Освойте maven - проблемма решится сама собой
Ответ написан
Комментировать
@Khombachke
Java programmer
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/math3/util/ArithmeticUtils

Вероятнее всего проблема с отсутствующими пакетами. Попробуйте добавить зависимость на Apache Commons Math
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-math3</artifactId>
    <version>3.6.1</version>
</dependency>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы