powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Java и ms word
4 сообщений из 4, страница 1 из 1
Java и ms word
    #39255548
olegeos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Есть несколько вордовских файлов (шаблоны) в которых хочется проставить в нужных местах метки (довольно большое количество). Затем средствами java менять их на значения. Принципиальный момент, надо использовать уже имеющиеся файлы, то есть генерировать файл нельзя.
Пробовал использовать библиотеки POI и doc4j (как-то работает с POI), но того что хотел не получилось. В лучшем случае меняется 1-2 значения.
Метка вида x1:y2:z1 введенная руками в первую ячейку таблицы нормально заменяется, а следующие не воспринимает т.к. они уже становятся не одним целым.
Схема такая: проставил в шаблоне метки (это таблица вордовская), ищу нужную метку и меняю на значение. Сейчас все уперлось в метки. Их разбивает на части.

Что можете посоветовать?
Для примера выкладываю кусок кода. (Одну метку меняет, но когда их много беда...)

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
 String nameFileDoc = nameDocxShablon;
        FileInputStream fis = new FileInputStream(new File(nameFileDoc));
        XWPFDocument doc = new XWPFDocument(fis);
        String replacment = "r1:r1:g1";
        String value = "352";


        for (XWPFTable tbl : doc.getTables()) {
            for (XWPFTableRow row : tbl.getRows()) {
                for (XWPFTableCell cell : row.getTableCells()) {
                    for (XWPFParagraph p : cell.getParagraphs()) {
                       
                        for (XWPFRun r : p.getRuns()) {
                            if (r.getText(0) != null && r.getText(0).equals(replacment)) {
                        
                                   String text = r.getText(0).replace(replacment, value);
                                 
                                r.setText(text, 0);
                            }
                        }
                    }
                }
            }
        }



        File file = new File(nameItog);
        FileOutputStream fos = new FileOutputStream(file);
        BufferedOutputStream bos = new BufferedOutputStream(fos);

        doc.write(bos);
        bos.flush();
        
        bos.close();
        fos.close();
        fis.close();
...
Рейтинг: 0 / 0
Java и ms word
    #39255576
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Java и ms word
    #39255601
olegeos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doc4j пробовал, за остальные спс.
...
Рейтинг: 0 / 0
Java и ms word
    #39255651
Фотография by-pass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Java и ms word
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]