Интерфейс file
Это интерфейс создания и заполнения файлов отчет/смет
В нем доступны следующий функции:
- create - функция конструктор, создает и подготавливает файл для приема данных
- addTitle - добавление заголовка в документ MS Word (DOCX)
- addParagraph - функция создания нового параграфа в документе MS Word (DOCX)
- addCenterParagraph - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста посередине и с указанием размера шрифта, и указанием жирный/простой
- addRightParagraph - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста справа и с указанием размера шрифта, и указанием жирный/простой
- addLeftParagraph - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста слева и с указанием размера шрифта, и указанием жирный/простой
- addTextBreak - функция перевода каретки указателя на новую строку в документе MS Word (DOCX)
- addText - функция добавления строки с данным в документ MS Word (DOCX)
- addHeaderRow - функция которая формирует заголовок на странице эксель файла
- addRow - функция которая формирует строку на странице эксель файла
- insertRow - функция которая вставляет строку на указанную позицию на странице эксель файла
- replaceRow - функция которая замещает строку на указанной позицию на странице эксель файла
- deleteRow - функция которая удаляет строку с указанной позиции на странице эксель файла
- autoSizeColumns - функция установки автоматической ширины колонок страницы эксель файла
- getDocument - получение интерфейса текущего документа XWPFDocument (docx) (https://poi.apache.org/apidocs/4.1/org/apache/poi/xwpf/usermodel/XWPFDocument.html), предоставляет полный доступ к инструментарию формирования документа MSWord
- getParagraph - получение интерфейса текущего параграфа XWPFParagraph (https://poi.apache.org/apidocs/4.1/org/apache/poi/xwpf/usermodel/XWPFParagraph.html) документа MSWord
- getWorkbook - получение интерфейса текущего табличного документа Workbook (XSSFWorkbook для xlsx и HSSFWorkbook для xls) (https://poi.apache.org/apidocs/4.1/org/apache/poi/ss/usermodel/Workbook.html), предоставляет полный доступ к инструментарию формирования документа таблицы эксель
- getSheet - получение интерфейса текущей страницы с таблицей (https://poi.apache.org/apidocs/4.1/org/apache/poi/ss/usermodel/Sheet.html) документа таблицы эксель
- addAreaBreak - добавление разрыва области PDF документа
- addImage - добавление изображения в документ Ms Word(DOCX) или PDF, ести тип файла другой, запись идет в поток
- addDrawing - добавление чертежа в документ MS Word (DOCX) или PDF, метод принимает на вход массив байтов, содержащий чертеж и двумерный массив, содержащий координаты точек чертежа
- addCell - создание ячейки в указанный столбец
- replaceRow - замена значений указанной строки новыми значениями текущего листа таблицыи Excel (XLSX, XLS)
- sortASC - сортировка таблицы документа Excel (XLSX, XLS) в порядке возрастания по значению в указанном столбце
- sortDESC - сортировка таблицы документа Excel (XLSX, XLS) в порядке убывания по значению в указанном столбце
- saveTempTable - сохранение значений из потока в таблицу Excel (XLSX, XLS), находящейся по указанному пути
- xlsxToJSON - преобразование содержимого документа Excel (XLSX, XLS)
- getResource - метод возвращает объект Ms Word (DOCX), PDF, текстовый файл (TXT) или Excel (XLSX, XLS)
- makeGrandSmetaExelTable - создание документа Excel (XLSX, XLS) для отчета о гранд-смете
Генерация документа с использованием шаблона
- templateToPdf - генерация pdf документа из шаблона
Генерация отчета по коллизиям и атрибутам
- collisionsToPdf - генерация pdf по списку коллизий
- attributesToPdf - генерация pdf по списку атрибутов
Примеры использования в плагинах
- file.create(формат создаваемого файла)
Пример использования:
- file.addTitle(Текст) - с базовыми настройками
- file.addTitle(Текст, Размер шрифта, жирный/не жирный) - с указанием размера шрифта, и указанием жирный/простой
Примеры использования:
- file.addParagraph("Текст") - с базовыми настройками
- file.addParagraph("Текст", размер отступа, размер шрифта, жирный/не жирный) - с указанием отступа, размера шрифта, и указанием жирный/простой
Примеры использования:
addText("Продолжение текста")
addText("Продолжение текста")
- file.addCenterParagraph("текст", размер шрифта, жирный/не жирный)
Пример использования:
- file.addRightParagraph("текст", размер шрифта, жирный/не жирный)
Пример использования:
- file.addLeftParagraph("текст", размер шрифта, жирный/не жирный)
Пример использования:
- file.addTextBreak()
Пример использования:
- file.addText(“Строка, которая появится в файле”, размер шрифта, жирный/не жирный)
- file.addText(“Строка, которая появится в файле”)
Примеры использования:
- file.addHeaderRow(“Заголовок 1”, “Заголовок 2”,....”Заголовок N”)
Пример использования:
- file.addRow(“Данные 1”, “Данные 2”,....”Данные N”)
Пример использования:
- file.insertRow(индекс, “Данные 1”, “Данные 2”,....”Данные N”)
Пример использования:
- file.replaceRow(индекс, “Данные 1”, “Данные 2”,....”Данные N”)
Пример использования:
- file.deleteRow(индекс)
Пример использования:
- file.autoSizeColumns() - для всех колонок на странице
- file.autoSizeColumns(индекс колонки) - для конкретной колонки на странице
Пример использования:
Общий пример:
file.create("XLS");
file.addHeaderRow("Код", "Название", "Ед. изм.", "Кол. во.", "Колонка 5"..);
def data = params.get("data");
for (int i in 0..data.size()-1) {
def row = data.get(i);
file.addRow(
row.get("code"),
row.get("title"),
row.get("units"),
row.get("quantityAll"), );
}
}
- template.add(“название тега в шаблоне”, данные)
- file.templateToPdf(template)
Пример использования:
template.add("project", project)
file.templateToPdf(template)
- file.collisionsToPdf(template, list, params):
- template - необязательный параметр (указывается в том случае, если таблицу коллизий необходимо добавить в конец какого-либо шаблона). Если не указывать, то создается новый пустой файл, в который заносится таблица коллизий
- list - список коллизий. Обязательное поле. Получить данный лист необходимо командой bim.getCollisionsForReport()
- params - необязательный параметр (описание ниже)
Параметры при генерации отчета по коллизиям:
pageSize - 1, 2, 3 или 4 (соответствует размеру страницы А1, А2, А3, А4)
fontSize - int значение размера шрифта (в pt)
Пример использования:
param.add("pageSize", 3)
param.add("fontSize", 12)
По умолчанию параметры принимают следующие значения:
pageSize - 4
fontSize - 8
Пример использования:
def param = [:]
param.add("pageSize", 3)
param.add("fontSize", 12)
file.collisionsToPdf(template, collisionList, param)
file.collisionsToPdf(collisionList)
- file.attributesToPdf(template, list, params)
- file.addAreaBreak()
Пример использования:
- file.addImage(byte[] imageFile)
Пример использования:
- file.addDrawing(byte[] drawingPage, double[][] arr)
Пример использования:
- file.addCell(int indexColumn, int indexRow, Object value) - создание ячейки в указанный столбец и строку текущего листа таблицы Excel (XLSX, XLS) с указанным значением
- file.addCell(int indexColumn, Object value) - создание ячейки в указанный столбец в конец строки текущего листа таблицы Excel (XLSX, XLS) с указанным значением
Пример использования:
- file.replaceRow(int indexRow, Object... inp)
Пример использования:
- file.sortASC(int indexColumn)
Пример использования:
- file.sortDESC(int indexColumn)
Пример использования:
- file.saveTempTable(String tablesTempLocation)
Пример использования:
- file.xlsxToJSON(int page, int pageSize) - преобразование содержимого документа Excel (XLSX, XLS) с указанной страницы, с указанным количеством строк в формат JSON
- file.xlsxToJSON(String tablesTempLocation, int page, int pageSize) - преобразование содержимого документа Excel (XLSX, XLS), находящегося по указанному пути в формате JSON, с учетом указанной страницы и указанных количество строк
Пример использования:
- file.getResource()
Пример использования:
- file.makeGrandSmetaExelTable()
Пример использования:
Наименование используемых строк row.get:
unit | Единица измерения |
quantity | Количество |