Экспорт В Ms Word / Excel На Macos

  • Автор темы Автор темы valdymar
  • Дата начала Дата начала
Из архива все файлы jar надо было выложить в ОДНУ директорию %ГДЕ_У_ВАС_СТОИТ_LOTUS_NOTES%\jvm\lib\ext. А вы наверное то, что было в lib и ooxml-lib так и оставили в подкаталогах.
 
Из архива все файлы jar надо было выложить в ОДНУ директорию %ГДЕ_У_ВАС_СТОИТ_LOTUS_NOTES%\jvm\lib\ext. А вы наверное то, что было в lib и ooxml-lib так и оставили в подкаталогах.
сначала да.. распаковал как есть в каталог.. перезапустил сервер ошибка не найден xml-beans... скопировал из каталогов в корень всё что было в каталогах появилась ошибка из лога выше..сейчас она вот в таком формате:
Exception in thread "AgentThread: JavaAgent"
java.lang.NoClassDefFoundError: org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDocument1 (initialization failure)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:139)
at org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDocument1$Factory.newInstance(Unknown Source)
at org.apache.poi.xwpf.usermodel.XWPFDocument.onDocumentCreate(XWPFDocument.java:282)
at org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(XWPFDocument.java:136)
at JavaAgent.NotesMain(Unknown Source)
at lotus.domino.AgentBase.runNotes(Unknown Source)
at lotus.domino.NotesThread.run(Unknown Source)
 
Во второй строке пишет что не может найти класс. Этот класс должен быть в библиотеке poi-ooxml-schemas-3.15. Она у вас точно есть в jvm/lib/ext?
 
есть
Безымянный.png
 
@swyatogor ошибка по схеме (если это оно) - я уже описывал- надо взять либу не из состава POI (из репозитария)
но это касалось только ПДФ
а вот версию POI надо брать свежую, я делал версии на 3.14!
 
Последнее редактирование:
@swyatogor ошибка по схеме (если это оно) - я уже описывал- надо взять либу не из состава POI (из репозитария)
да.. это оно.. тоже скачал схему с указанного Вами ресурса и вроде заработало.. правда я еще долго всякие настройки безопасности ковырял, потому как включил все библиотеки в состав агента в базу)))
 
потому как включил все библиотеки в состав агента в базу)))
это плохо!
объясню почему...
нек. объекты подразумевают опред. время жизни, в случае с расположением в БД - оно становится непредсказуемым (выгрузка агента/либы)
второй фактор - если БД на сервере - все либы, задействованные в коде, будут скачиваться, а это - время ожидания первого запуска
либы для POI не маленькие (в сумме - 20+ Мб)
 
это плохо!
объясню почему...
нек. объекты подразумевают опред. время жизни, в случае с расположением в БД - оно становится непредсказуемым (выгрузка агента/либы)
второй фактор - если БД на сервере - все либы, задействованные в коде, будут скачиваться, а это - время ожидания первого запуска
либы для POI не маленькие (в сумме - 20+ Мб)
а мну в таком варианте и не получилось таки запустить.. убрал из базы.. положил на сервер и всё заработало..
спасибо.. буду пробовать применить куда-нить)).. правда плохо представляю как..

а для запуска такого процесса пользователем - все эти библиотеки должны лежать на его машине или проканает запуск агента OnServer??
 
а для запуска такого процесса пользователем - все эти библиотеки должны лежать на его машине или проканает запуск агента OnServer??
в случае с сервером - исполнять агент нужно на сервере, да
 
единственным моментом будет возврат результата, т.е. нужен к-л док в кот. положить результат и передавать его как параметр
 
единственным моментом будет возврат результата, т.е. нужен к-л док в кот. положить результат и передавать его как параметр
Я как вариант рассматривал отправку письма с вложением на запускающего агент)
 
Всем привет.
Вопрос по экспорту средствами POI. Столкнулся с проблемой при обращении к ячейки по имени.
Если обращаться к родным именам типа А1, В54 и т.д. - проблем нет, но если ячейке присвоить свое имя - беда. Ячейка не находится
Код:
        CellReference ref = new CellReference("TESTCell");
  
        //System.out.println( ref.getRow() );
        Row r = sheet.getRow(ref.getRow());
        System.out.println( r );
         if (r != null) {
            Cell c = r.getCell(ref.getCol());
           
           
            System.out.println( c.getNumericCellValue() );
         }
 
@NickProstoNick из хелпа:
Java:
 //Reading from Named Range / Named Cell

    // setup code
    String cname = "TestName";
    Workbook wb = getMyWorkbook(); // retrieve workbook

    // retrieve the named range
    int namedCellIdx = wb.getNameIndex(cellName);
    Name aNamedCell = wb.getNameAt(namedCellIdx);

    // retrieve the cell at the named range and test its contents
    AreaReference aref = new AreaReference(aNamedCell.getRefersToFormula());
    CellReference[] crefs = aref.getAllReferencedCells();
    for (int i=0; i<crefs.length; i++) {
        Sheet s = wb.getSheet(crefs[i].getSheetName());
        Row r = sheet.getRow(crefs[i].getRow());
        Cell c = r.getCell(crefs[i].getCol());
        // extract the cell contents based on cell type etc.
    }
 
  • Нравится
Реакции: NickProstoNick
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!