Wiki source code of 06_file

Last modified by Bimit Administrator on 05.03.2026, 09:28

Show last authors
1 Это интерфейс создания и заполнения файлов отчет/смет
2 В нем доступны следующий функции:
3
4 * [[create>>path:#_Toc1]] - функция конструктор, создает и подготавливает файл для приема данных
5 * [[setStyle>>path:#_Toc33]] - применение указанного стиля к тексту указанной ячейки Excel файла при работе с отчетом
6 * [[addTitle>>path:#_Toc2]] - добавление заголовка в документ MS Word (DOCX)
7 * [[addParagraph>>path:#_Toc3]] - функция создания нового параграфа в документе MS Word (DOCX)
8 * [[addCenterParagraph>>path:#_Toc4]] - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста посередине и с указанием размера шрифта, и указанием жирный/простой
9 * [[addRightParagraph>>path:#_Toc5]] - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста справа и с указанием размера шрифта, и указанием жирный/простой
10 * [[addLeftParagraph>>path:#_Toc6]] - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста слева и с указанием размера шрифта, и указанием жирный/простой
11 * [[addTextBreak>>path:#_Toc7]] - функция перевода каретки указателя на новую строку в документе MS Word (DOCX)
12 * [[addText>>path:#_Toc8]] - функция добавления строки с данным в документ MS Word (DOCX)
13 * (% style="color:#000000; font-family:Arial,sans-serif; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)[[createStyle>>path:#_Toc28]] - cоздание нового стиля для форматирования текста и формата ячеек Excel при работе с отчетом
14 * [[setSizeColumns>>path:#_Toc34]] - устанавливает ширину и высоту для ячеек заданной колонки
15 * [[setCenterAlignment>>path:#_Toc35]] - устанавливает выравнивание по центру для всех ячеек заданной колонки
16 * [[setBorder>>path:#_Toc36]] - устанавливает границы для указанного диапазона ячеек
17 * [[addHeaderRow>>path:#_Toc9]] - функция которая формирует заголовок на странице Excel файла
18 * [[addRow>>path:#_Toc10]] - функция которая формирует строку на странице эксель файла
19 * [[insertRow>>path:#_Toc15]] - функция которая вставляет строку на указанную позицию на странице эксель файла
20 * [[replaceRow>>path:#_Toc16]] - функция которая замещает строку на указанной позицию на странице эксель файла
21 * [[addMatrix>>path:#_Toc37]] - создание таблицы Excel (XLSX, XLS) с данными из List
22 * [[addCellWrap>>path:#_Toc38]] - создание ячейки с переносом текста в указанный столбец и строку текущего листа таблицы Excel (XLSX, XLS) с указанным значением
23 * [[deleteRow>>path:#_Toc17]] - функция которая удаляет строку с указанной позиции на странице эксель файла
24 * [[autoSizeColumns>>path:#_Toc18]] - функция установки автоматической ширины колонок страницы эксель файла
25 * [[getDocument>>path:#_Toc11]] - получение интерфейса текущего документа XWPFDocument (docx) (https:~/~/poi.apache.org/apidocs/4.1/org/apache/poi/xwpf/usermodel/XWPFDocument.html), предоставляет полный доступ к инструментарию формирования документа MSWord
26 * [[getParagraph>>path:#_Toc12]] - получение интерфейса текущего параграфа XWPFParagraph (https:~/~/poi.apache.org/apidocs/4.1/org/apache/poi/xwpf/usermodel/XWPFParagraph.html) документа MSWord
27 * [[getWorkbook>>path:#_Toc13]] - получение интерфейса текущего табличного документа Workbook (XSSFWorkbook для xlsx и HSSFWorkbook для xls) (https:~/~/poi.apache.org/apidocs/4.1/org/apache/poi/ss/usermodel/Workbook.html), предоставляет полный доступ к инструментарию формирования документа таблицы эксель
28 * [[getSheet>>path:#_Toc14]] - получение интерфейса текущей страницы с таблицей (https:~/~/poi.apache.org/apidocs/4.1/org/apache/poi/ss/usermodel/Sheet.html) документа таблицы эксель
29 * [[addAreaBreak>>path:#_Toc30]] - добавление разрыва области PDF документа
30 * [[addImage>>path:#_Toc31]] - добавление изображения в документ Ms Word(DOCX) или PDF, ести тип файла другой, запись идет в поток
31 * [[addDrawing>>path:#_Toc32]] - добавление чертежа в документ MS Word (DOCX) или PDF, метод принимает на вход массив байтов, содержащий чертеж и двумерный массив, содержащий координаты точек чертежа
32 * [[addCell>>path:#_Toc22]] - создание ячейки в указанный столбец
33 * [[replaceRow>>path:#_Toc23]] - замена значений указанной строки новыми значениями текущего листа таблицыи Excel (XLSX, XLS)
34 * [[sortASC>>path:#_Toc24]] - сортировка таблицы документа Excel (XLSX, XLS) в порядке возрастания по значению в указанном столбце
35 * [[sortDESC>>path:#_Toc25]] - сортировка таблицы документа Excel (XLSX, XLS) в порядке убывания по значению в указанном столбце
36 * [[saveTempTable>>path:#_Toc26]] - сохранение значений из потока в таблицу Excel (XLSX, XLS), находящейся по указанному пути
37 * [[xlsxToJSON>>path:#_Toc27]] - преобразование содержимого документа Excel (XLSX, XLS)
38 * [[getResource>>path:#_Toc28]] - метод возвращает объект Ms Word (DOCX), PDF, текстовый файл (TXT) или Excel (XLSX, XLS)
39 * [[makeGrandSmetaExelTable>>path:#_Toc29]] - создание документа Excel (XLSX, XLS) для отчета о гранд-смете
40 * [[getImage>>path:#_Toc39]] - получение картинки из общей коллекции
41 * [[addSheet>>path:#_Toc40]] - создание дополнительного листа таблицы
42 * [[renameCurrentSheet>>path:#_Toc41]] - редактирование названия текущего / активного листа
43 * [[renameSheet>>path:#_Toc42]] - редактирование названия листа
44 * [[setCurrentSheet>>path:#_Toc43]] - установка активного листа таблицы
45
46 **Генерация документа с использованием шаблона**
47
48 * [[templateToPdf>>path:#_Toc19]] - генерация pdf документа из шаблона
49
50 **Генерация отчета по коллизиям и атрибутам**
51
52 * [[collisionsToPdf>>path:#_Toc20]] - генерация pdf по списку коллизий
53 * [[attributesToPdf>>path:#_Toc21]] - генерация pdf по списку атрибутов
54
55 [[Примеры использования в плагинах>>2_developers.02_plugin_api.06_file.exampl_file.WebHome]]
56
57
58 (% class="box infomessage" %)
59 (((
60 **{{id name="_Toc1"/}}create** - функция конструктор, создает и подготавливает файл для приема данных, доступны варианта: таблица эксель (XLS, XLSX), текстовый файл(TXT), документ MS Word (DOCX), документ PDF (PDF)
61 )))
62
63 * **file.create(формат создаваемого файла)**
64
65 **Пример использования:**
66
67
68 {{code language="java"}}
69 file.create("XLS"); или file.create("TXT");
70 {{/code}}
71
72
73 (% class="box infomessage" %)
74 (((
75 **{{id name="_Toc33"/}}setStyle** - применение указанного стиля к тексту указанной ячейки Excel файла при работе с отчетом
76 )))
77
78 * **file.setStyle (Sheet sheet, Workbook workbook, int indexRow, int indexColumn, ExcelStyleManager)**
79
80 **Пример использования:**
81
82 {{code language="java"}}{{/code}}
83
84 * **file.setStyle (Sheet sheet, Workbook workbook, int indexRow, int indexColumn, ExcelStyleManager)**
85
86 (% class="box infomessage" %)
87 (((
88 **{{id name="_Toc2"/}}addTitle** - добавление заголовка в документ MS Word (DOCX)
89 )))
90
91 * **file.addTitle(Текст)** - с базовыми настройками
92 * **file.addTitle(Текст, Размер шрифта, жирный/не жирный)** - с указанием размера шрифта, и указанием жирный/простой
93
94 **Примеры использования:**
95
96 {{code language="java"}}
97 addTitle("Заголовок")
98 {{/code}}
99
100 {{code language="java"}}
101 addTitle("Заголовок", 30, true)
102 {{/code}}
103
104 (% class="box infomessage" %)
105 (((
106 **{{id name="_Toc3"/}}addParagraph** - функция создания нового параграфа в документе MS Word (DOCX)
107 )))
108
109 * **file.addParagraph("Текст")** - с базовыми настройками
110 * **file.addParagraph("Текст", размер отступа, размер шрифта, жирный/не жирный)** - с указанием отступа, размера шрифта, и указанием жирный/простой
111
112 **Примеры использования:**
113
114 {{code language="java"}}
115 addParagraph("Текст")
116 addText("Продолжение текста")
117 {{/code}}
118
119 {{code language="java"}}
120 addParagraph("Текст", 20, 10, true)
121 addText("Продолжение текста")
122 {{/code}}
123
124
125 (% class="box infomessage" %)
126 (((
127 **{{id name="_Toc4"/}}addCenterParagraph** - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста посередине и с указанием размера шрифта, и указанием жирный/простой
128 )))
129
130 * **file.addCenterParagraph("текст", размер шрифта, жирный/не жирный)**
131
132 **Пример использования:**
133
134
135 {{code language="java"}}
136 addCenterParagraph("Текст", 10, true)
137 {{/code}}
138
139 (% class="box infomessage" %)
140 (((
141 (% id="cke_bm_264586S" style="display:none" %)** **
142 )))
143
144
145 (% class="box infomessage" %)
146 (((
147 **{{id name="_Toc5"/}}addRightParagraph** - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста справа и с указанием размера шрифта, и указанием жирный/простой
148 )))
149
150 * **file.addRightParagraph("текст", размер шрифта, жирный/не жирный)**
151
152 **Пример использования:**
153
154
155 {{code language="java"}}
156 addRightParagraph("Текст", 10, true)
157 {{/code}}
158
159
160 (% class="box infomessage" %)
161 (((
162 **{{id name="_Toc6"/}}addLeftParagraph** - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста слева и с указанием размера шрифта, и указанием жирный/простой
163 )))
164
165 * **file.addLeftParagraph("текст", размер шрифта, жирный/не жирный)**
166
167 **Пример использования:**
168
169
170 {{code language="java"}}
171 addLeftParagraph("Текст", 10, true)
172 {{/code}}
173
174
175 (% class="box infomessage" %)
176 (((
177 **{{id name="_Toc7"/}}addTextBreak** - функция перевода каретки указателя на новую строку в документе MS Word (DOCX)
178 )))
179
180 * **file.addTextBreak()**
181
182 **Пример использования:**
183
184
185 {{code language="java"}}
186 file.addTextBreak()
187 {{/code}}
188
189
190 (% class="box infomessage" %)
191 (((
192 **{{id name="_Toc8"/}}addText** - функция добавления строки с данным в документ MS Word (DOCX)
193 )))
194
195 * **file.addText(Object objectValue)** - добавление объекта в строковом представлении
196 * **file.addText(“Строка, которая появится в файле”, размер шрифта, жирный/не жирный)**
197 * **file.addText(“Строка, которая появится в файле”)**
198 * **file.addText(long longValue)** - добавление числа типа long в строковом представлении
199 * **file.addText(double doubleValue)** - добавление числа типа double в строковом представлении
200
201 **Примеры использования:**
202
203 {{code language="java"}}{{/code}}
204 {{code language="java"}}file.addText("Строка, которая появится в файле"), 10, false){{/code}}
205
206 {{code language="java"}}
207 file.addText("Строка, которая появится в файле")
208 {{/code}}
209
210 {{code language="java"}}{{/code}}
211
212 {{code language="java"}}{{/code}}
213
214
215 (% class="box infomessage" %)
216 (((
217 **{{id name="_Toc34"/}}setSizeColumns** - устанавливает ширину и высоту для ячеек заданной колонки
218 )))
219
220 * **file.setSizeColumns (int indexColumn, int indexRowStart, int width, int height)** - устанавливает ширину и высоту для ячеек заданной колонки
221 * **file.setSizeColumns (int indexColumn, int width)** - устанавливает ширину для ячеек заданной колонки
222
223 **Пример использования:**
224
225 {{code language="java"}}{{/code}}
226
227 {{code language="java"}}{{/code}}
228
229
230 (% class="box infomessage" %)
231 (((
232 **{{id name="_Toc35"/}}setCenterAlignment** - устанавливает выравнивание по центру для всех ячеек заданной колонки
233 )))
234
235 * **file.setCenterAlignment (int indexColumn)** - устанавливает выравнивание по центру для всех ячеек заданной колонки
236
237 **Пример использования:**
238
239 {{code language="java"}}{{/code}}
240
241
242 (% class="box infomessage" %)
243 (((
244 **{{id name="_Toc36"/}}setBorder** - устанавливает границы для указанного диапазона ячеек
245 )))
246
247 * **file.setBorder (int startColumn, int endColumn, int startRow, int endRow)** - устанавливает границы для указанного диапазона ячеек
248
249 **Пример использования:**
250
251 {{code language="java"}}{{/code}}
252
253
254 (% class="box infomessage" %)
255 (((
256 **{{id name="_Toc9"/}}addHeaderRow **- функция которая формирует заголовок на странице эксель файла
257 )))
258
259 * **file.addHeaderRow(“Заголовок 1”, “Заголовок 2”,....”Заголовок N”)**
260
261 **Пример использования:**
262
263
264 {{code language="java"}}
265 file.addHeaderRow("Код", "Название", "Ед. изм.", "Кол. во.");
266 {{/code}}
267
268
269 (% class="box infomessage" %)
270 (((
271 **{{id name="_Toc10"/}}addRow** - функция которая формирует строку на странице эксель файла
272 )))
273
274 * **file.addRow(Object... inp)**
275 * **file.addRow(Map<Object, Object>... inp)**
276
277 **Пример использования:**
278
279
280 {{code language="java"}}
281 file.addRow( row.get("code"), row.get("title"), row.get("units"), row.get("quantityAll"));
282 {{/code}}
283
284 {{code language="java"}}{{/code}}
285
286
287 (% class="box infomessage" %)
288 (((
289 **{{id name="_Toc15"/}}insertRow** - функция которая вставляет строку на указанную позицию на странице эксель файла
290 )))
291
292 * **file.insertRow(индекс, “Данные 1”, “Данные 2”,....”Данные N”)**
293
294 **Пример использования:**
295
296 {{code language="java"}}
297 file.insertRow(6, "Вставленная строка", 1 , 2.453, new Date(), Calendar.getInstance());
298 {{/code}}
299
300
301 (% class="box infomessage" %)
302 (((
303 **{{id name="_Toc16"/}}replaceRow** - функция которая замещает строку на указанной позицию на странице эксель файла
304 )))
305
306 * **file.replaceRow(индекс, “Данные 1”, “Данные 2”,....”Данные N”)**
307
308 **Пример использования:**
309
310 {{code language="java"}}
311 file.replaceRow(7, "Замещенная строка", 4 , 5.678, new Date(), Calendar.getInstance());
312 {{/code}}
313
314
315 (% class="box infomessage" %)
316 (((
317 **{{id name="_Toc37"/}}addMatrix** - создание таблицы Excel (XLSX, XLS) с данными из List
318 )))
319
320 * **file.addMatrix (List... matrix)** - создание таблицы Excel (XLSX, XLS) с данными из List<List>
321 * **file.addMatrix (Map... matrix)** - создание таблицы Excel (XLSX, XLS) с данными из List<Map>
322
323 **Пример использования:**
324
325 {{code language="java"}}{{/code}}
326
327 {{code language="java"}}{{/code}}
328
329
330 (% class="box infomessage" %)
331 (((
332 **{{id name="_Toc38"/}}addCellWrap** - создание ячейки с переносом текста в указанный столбец и строку текущего листа таблицы Excel (XLSX, XLS) с указанным значением
333 )))
334
335 * **file.addCellWrap (int indexColumn, int indexRow, Object value)** - создание ячейки с переносом текста в указанный столбец и строку текущего листа таблицы Excel (XLSX, XLS) с указанным значением
336
337 **Пример использования:**
338
339 {{code language="java"}}{{/code}}
340
341
342 (% class="box infomessage" %)
343 (((
344 **{{id name="_Toc17"/}}deleteRow** - функция которая удаляет строку с указанной позиции на странице эксель файла
345 )))
346
347 * **file.deleteRow(индекс)**
348
349 **Пример использования:**
350
351 {{code language="java"}}
352 file.deleteRow(3);
353 {{/code}}
354
355
356 (% class="box infomessage" %)
357 (((
358 **{{id name="_Toc18"/}}autoSizeColumns** - функция установки автоматической ширины колонок страницы эксель файла
359 )))
360
361 * **file.autoSizeColumns()** - для всех колонок на странице
362 * **file.autoSizeColumns(индекс колонки)** - для конкретной колонки на странице
363
364 **Пример использования:**
365
366 {{code language="java"}}
367 file.autoSizeColumns()
368 {{/code}}
369
370
371 (% class="box infomessage" %)
372 (((
373 **{{id name="_Toc11"/}}getDocument** - получение интерфейса текущего документа XWPFDocument (docx) (https:~/~/poi.apache.org/apidocs/4.1/org/apache/poi/xwpf/usermodel/XWPFDocument.html), предоставляет полный доступ к инструментарию формирования документа MSWord (полную документацию см. [[https:~~/~~/poi.apache.org/apidocs/4.1/)>>https://poi.apache.org/apidocs/4.1/)]]
374 )))
375
376 (% class="box infomessage" %)
377 (((
378 **{{id name="_Toc12"/}}getParagraph** - получение интерфейса текущего параграфа XWPFParagraph (https:~/~/poi.apache.org/apidocs/4.1/org/apache/poi/xwpf/usermodel/XWPFParagraph.html) документа MSWord  (полную документацию см. [[https:~~/~~/poi.apache.org/apidocs/4.1/)>>https://poi.apache.org/apidocs/4.1/)]]
379 )))
380
381 (% class="box infomessage" %)
382 (((
383 **{{id name="_Toc13"/}}getWorkbook** - получение интерфейса текущего табличного документа Workbook (XSSFWorkbook для xlsx и HSSFWorkbook для xls) (https:~/~/poi.apache.org/apidocs/4.1/org/apache/poi/ss/usermodel/Workbook.html), предоставляет полный доступ к инструментарию формирования документа таблицы эксель (полную документацию см. https:~/~/poi.apache.org/apidocs/4.1/)
384 )))
385
386 (% class="box infomessage" %)
387 (((
388 **{{id name="_Toc14"/}}getSheet** - получение интерфейса текущей страницы с таблицей (https:~/~/poi.apache.org/apidocs/4.1/org/apache/poi/ss/usermodel/Sheet.html) документа таблицы эксель (полную документацию см. https:~/~/poi.apache.org/apidocs/4.1/)
389 )))
390
391 **Общий пример:**
392
393 {{code language="java"}}
394 def start() {
395 file.create("XLS");
396 file.addHeaderRow("Код", "Название", "Ед. изм.", "Кол. во.", "Колонка 5"..);
397 def data = params.get("data");
398 for (int i in 0..data.size()-1) {
399 def row = data.get(i);
400 file.addRow(
401 row.get("code"),
402 row.get("title"),
403 row.get("units"),
404 row.get("quantityAll"), );
405 }
406 }
407 {{/code}}
408
409
410 (% class="box infomessage" %)
411 (((
412 **{{id name="_Toc19"/}}templateToPdf** - генерация pdf документа из шаблона
413 )))
414
415 * **[[template>>doc:API.Плагин API.template.WebHome]].add(“название тега в шаблоне”, данные)**
416 * **file.templateToPdf(template)**
417
418 **Пример использования:**
419
420 {{code language="java"}}
421 def project = bim.getProject()
422 template.add("project", project)
423 file.templateToPdf(template)
424 {{/code}}
425
426
427 (% class="box infomessage" %)
428 (((
429 **{{id name="_Toc20"/}}collisionsToPdf** - генерация pdf по списку коллизий
430 )))
431
432 * **file.collisionsToPdf(template, list, params):**
433 * **template** - необязательный параметр (указывается в том случае, если таблицу коллизий необходимо добавить в конец какого-либо шаблона). Если не указывать, то создается новый пустой файл, в который заносится таблица коллизий
434 * **list** - список коллизий. Обязательное поле. Получить данный лист необходимо командой [[bim.getCollisionsForReport()>>https://wiki.bimit.ru/bin/view/API/%D0%9F%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%20API/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%20bim/#_Toc26]]
435 * **params** - необязательный параметр (описание ниже)
436
437 Параметры при генерации отчета по коллизиям:
438 pageSize - 1, 2, 3 или 4 (соответствует размеру страницы А1, А2, А3, А4)
439 fontSize - int значение размера шрифта (в pt)
440
441 **Пример использования:**
442
443 {{code language="java"}}
444 def param = [:]
445 param.add("pageSize", 3)
446 param.add("fontSize", 12)
447 {{/code}}
448
449 По умолчанию параметры принимают следующие значения:
450 pageSize - 4
451 fontSize - 8
452
453
454 **Пример использования:**
455
456 {{code language="java"}}
457 def collisionList = bim.getCollisionsForReport()
458 def param = [:]
459 param.add("pageSize", 3)
460 param.add("fontSize", 12)
461 file.collisionsToPdf(template, collisionList, param)
462 {{/code}}
463
464 {{code language="java"}}
465 def collisionList = bim.getCollisionsForReport()
466 file.collisionsToPdf(collisionList)
467 {{/code}}
468
469
470 (% class="box infomessage" %)
471 (((
472 **{{id name="_Toc21"/}}attributesToPdf** - генерация pdf по списку атрибутов
473 )))
474
475 * **file.attributesToPdf(template, list, params)**
476
477 (% class="box infomessage" %)
478 (((
479 **{{id name="_Toc30"/}}addAreaBreak** - добавление разрыва области PDF документа
480 )))
481
482 * **file.addAreaBreak() **
483
484 **Пример использования:**
485
486 {{code language="java"}}{{/code}}
487
488 (% class="box infomessage" %)
489 (((
490 **{{id name="_Toc31"/}}addImage** - добавление изображения в документ Ms Word(DOCX) или PDF, ести тип файла другой, запись идет в поток
491 )))
492
493 * **file.addImage(byte[] imageFile) **
494
495 **Пример использования:**
496
497 {{code language="java"}}{{/code}}
498
499 (% class="box infomessage" %)
500 (((
501 **{{id name="_Toc32"/}}addDrawing** - добавление чертежа в документ MS Word (DOCX) или PDF, метод принимает на вход массив байтов, содержащий чертеж и двумерный массив, содержащий координаты точек чертежа
502 )))
503
504 * **file.addDrawing(byte[] drawingPage, double[][] arr) **
505
506 **Пример использования:**
507
508 {{code language="java"}}{{/code}}
509
510 (% class="box infomessage" %)
511 (((
512 **{{id name="_Toc22"/}}addCell** - создание ячейки в указанный столбец
513 )))
514
515 * **file.addCell(int indexColumn, int indexRow, Object value) ** - создание ячейки в указанный столбец и строку текущего листа таблицы Excel (XLSX, XLS) с указанным значением
516 * **file.addCell(int indexColumn, Object value) ** - создание ячейки в указанный столбец в конец строки текущего листа таблицы Excel (XLSX, XLS) с указанным значением
517
518 **Пример использования:**
519
520 {{code language="java"}}{{/code}}
521
522 (% class="box infomessage" %)
523 (((
524 **{{id name="_Toc23"/}}replaceRow** - замена значений указанной строки новыми значениями текущего листа таблицыи Excel (XLSX, XLS)
525 )))
526
527 * **file.replaceRow(int indexRow, Object... inp) **
528
529 **Пример использования:**
530
531 {{code language="java"}}{{/code}}
532
533 (% class="box infomessage" %)
534 (((
535 **{{id name="_Toc24"/}}sortASC** - сортировка таблицы документа Excel (XLSX, XLS) в порядке возрастания по значению в указанном столбце
536 )))
537
538 * **file.sortASC(int indexColumn) **
539
540 **Пример использования:**
541
542 {{code language="java"}}{{/code}}
543
544 (% class="box infomessage" %)
545 (((
546 **{{id name="_Toc25"/}}sortDESC** - сортировка таблицы документа Excel (XLSX, XLS) в порядке убывания по значению в указанном столбце
547 )))
548
549 * **file.sortDESC(int indexColumn) **
550
551 **Пример использования:**
552
553 {{code language="java"}}{{/code}}
554
555 (% class="box infomessage" %)
556 (((
557 **{{id name="_Toc26"/}}saveTempTable** - сохранение значений из потока в таблицу Excel (XLSX, XLS), находящейся по указанному пути
558 )))
559
560 * **file.saveTempTable(String tablesTempLocation) **
561
562 **Пример использования:**
563
564 {{code language="java"}}{{/code}}
565
566 (% class="box infomessage" %)
567 (((
568 **{{id name="_Toc27"/}}xlsxToJSON** - преобразование содержимого документа Excel (XLSX, XLS)
569 )))
570
571 * **file.xlsxToJSON(int page, int pageSize) ** - преобразование содержимого документа Excel (XLSX, XLS) с указанной страницы, с указанным количеством строк в формат JSON
572 * **file.xlsxToJSON(String tablesTempLocation, int page, int pageSize) ** - преобразование содержимого документа Excel (XLSX, XLS), находящегося по указанному пути в формате JSON, с учетом указанной страницы и указанных количество строк
573
574 **Пример использования:**
575
576 {{code language="java"}}{{/code}}
577
578 (% class="box infomessage" %)
579 (((
580 **{{id name="_Toc28"/}}getResource** - метод возвращает объект Ms Word (DOCX), PDF, текстовый файл (TXT) или Excel (XLSX, XLS)
581 )))
582
583 * **file.getResource() **
584
585 **Пример использования:**
586
587 {{code language="java"}}{{/code}}
588
589 (% class="box infomessage" %)
590 (((
591 **{{id name="_Toc29"/}}makeGrandSmetaExelTable** - создание документа Excel (XLSX, XLS) для отчета о гранд-смете
592 )))
593
594 * **file.makeGrandSmetaExelTable() **
595
596 **Пример использования:**
597
598 {{code language="java"}}{{/code}}
599
600 (% class="box infomessage" %)
601 (((
602 (% id="cke_bm_467759S" style="display:none" %)** **(%%)**{{id name="_Toc3"/}}**createStyle - создание нового стиля для формирования текста и формата ячеек Excel при работе с отчетом
603 )))
604
605 * **file.createStyle(Шрифт строки, размер строки, цвет строки)**
606
607 **Пример использования:**
608
609
610 {{code language="java"}}
611 createStyle(10, 15, green)
612 {{/code}}
613
614 (% class="box infomessage" %)
615 (((
616 **{{id name="_Toc39"/}}getImage** - получение картинки из общей коллекции
617 )))
618
619 * **file.getImage("путь до картинки")** - получение картинки
620 * **img.crop (X1, Y1, X2, Y2)** - обрезать текущую картинку
621 * **Images.joinHorizontal (img1, img2)** - склеивание картинок по горизонтали
622 * **Images.joinVertical (img1, img2)** - склеивание картинок по вертикали
623
624 **Пример использования:**
625
626 {{code language="java"}}
627 def img1 = file.getImage("collections/images/Arm/IFC_Арматура_Кольцо_ГОСТ_5781-82.png")
628 def img2 = file.getImage("collections/images/Arm/О_(23).png")
629 def img3 = Images.joinHorizontal(img1, img2.crop(10, 10, 400, 200))
630 def img4 = Images.joinVertical(img1, img2.crop(10, 10, 400, 200))
631 {{/code}}
632
633
634 (% class="box infomessage" %)
635 (((
636 **{{id name="_Toc40"/}}addSheet** - создание дополнительного листа таблицы
637 )))
638
639 * **file.addSheet("Название листа")** - созданный новый лист становится активным
640
641 **Пример использования:**
642
643 {{code language="java"}}
644 file.addSheet("Лист2")
645 {{/code}}
646
647
648 (% class="box infomessage" %)
649 (((
650 **{{id name="_Toc41"/}}renameCurrentSheet** - редактирование названия текущего / активного листа
651 )))
652
653 * **file.renameCurrentSheet ("Новое название листа")** - редактирование названия текущего / активного листа
654
655 **Пример использования:**
656
657 {{code language="java"}}
658 file.renameCurrentSheet("Лист3")
659 {{/code}}
660
661
662 (% class="box infomessage" %)
663 (((
664 **{{id name="_Toc42"/}}renameSheet** - редактирование названия листа
665 )))
666
667 * **file.renameSheet(ID, "Новое название листа")** - редактирование названия листа, ID листа - это его порядковый номер, отсчет начинается с нуля
668 * **file.renameSheet("Старое название листа", "Новое название листа")** - редактирование названия листа
669
670 **Пример использования:**
671
672 {{code language="java"}}
673 file.renameSheet(0, "Лист2")
674 file.renameSheet("Лист2", "Лист3")
675 {{/code}}
676
677
678 (% class="box infomessage" %)
679 (((
680 **{{id name="_Toc43"/}}setCurrentSheet** - установка активного листа таблицы
681 )))
682
683 * **file.setCurrentSheet("Название листа")** - установка активного листа таблицы
684 * **file.setCurrentSheet(ID)** - ID листа - это его порядковый номер, отсчет начинается с нуля
685
686 **Пример использования:**
687
688 {{code language="java"}}
689 file.setCurrentSheet("Лист2")
690 file.setCurrentSheet(1)
691 {{/code}}
692
693
694 **Наименование используемых строк row.get:**
695
696
697 (((
698 (% cellspacing="0" style="border-collapse:collapse; border:none; table-layout:fixed; width:850px" %)
699 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
700 (% style="line-height:1.2" %)
701 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)pos
702 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
703 (% style="line-height:1.2" %)
704 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:10pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Позиция
705 )))
706 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
707 (% style="line-height:1.2" %)
708 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)code
709 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
710 (% style="line-height:1.2" %)
711 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Обоснование
712 )))
713 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
714 (% style="line-height:1.2" %)
715 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)title
716 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
717 (% style="line-height:1.2" %)
718 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Наименование
719 )))
720 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
721 (% style="line-height:1.2" %)
722 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)units
723 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
724 (% style="line-height:1.2" %)
725 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Единицы измерений
726 )))
727 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)unit|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)Единица измерения
728 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
729 (% style="line-height:1.2" %)
730 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)quantityPerUnit
731 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
732 (% style="line-height:1.2" %)
733 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Количество на ед.
734 )))
735 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
736 (% style="line-height:1.2" %)
737 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)quantityAll
738 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
739 (% style="line-height:1.2" %)
740 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Количество всего
741 )))
742 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)quantity|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)Количество
743 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
744 (% style="line-height:1.2" %)
745 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)priceAll
746 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
747 (% style="line-height:1.2" %)
748 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Стоимость единицы всего
749 )))
750 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
751 (% style="line-height:1.2" %)
752 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)unitPrice_1
753 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
754 (% style="line-height:1.2" %)
755 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Стоимость единицы Осн. з/п
756 )))
757 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
758 (% style="line-height:1.2" %)
759 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)unitPrice_2
760 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
761 (% style="line-height:1.2" %)
762 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Стоимость единицы Эк.маш
763 )))
764 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
765 (% style="line-height:1.2" %)
766 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)unitPrice_3
767 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
768 (% style="line-height:1.2" %)
769 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Стоимость единицы З/пМех
770 )))
771 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
772 (% style="line-height:1.2" %)
773 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)unitPrice_4
774 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
775 (% style="line-height:1.2" %)
776 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Стоимость единицы Мат
777 )))
778 )))