Интерфейс file
Это интерфейс создания и заполнения файлов отчет/смет
В нем доступны следующий функции:
- create - функция конструктор, создает и подготавливает файл для приема данных
- setStyle - применение указанного стиля к тексту указанной ячейки Excel файла при работе с отчетом
- 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)
- createStyle - cоздание нового стиля для форматирования текста и формата ячеек Excel при работе с отчетом
- setSizeColumns - устанавливает ширину и высоту для ячеек заданной колонки
- setCenterAlignment - устанавливает выравнивание по центру для всех ячеек заданной колонки
- setBorder - устанавливает границы для указанного диапазона ячеек
- addHeaderRow - функция которая формирует заголовок на странице Excel файла
- addRow - функция которая формирует строку на странице эксель файла
- insertRow - функция которая вставляет строку на указанную позицию на странице эксель файла
- replaceRow - функция которая замещает строку на указанной позицию на странице эксель файла
- addMatrix - создание таблицы Excel (XLSX, XLS) с данными из List
- addCellWrap - создание ячейки с переносом текста в указанный столбец и строку текущего листа таблицы Excel (XLSX, XLS) с указанным значением
- 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.setStyle (Sheet sheet, Workbook workbook, int indexRow, int indexColumn, ExcelStyleManager)
Пример использования:
- file.setStyle (Sheet sheet, Workbook workbook, int indexRow, int indexColumn, ExcelStyleManager)
- file.addTitle(Текст) - с базовыми настройками
- file.addTitle(Текст, Размер шрифта, жирный/не жирный) - с указанием размера шрифта, и указанием жирный/простой
Примеры использования:
- file.addParagraph("Текст") - с базовыми настройками
- file.addParagraph("Текст", размер отступа, размер шрифта, жирный/не жирный) - с указанием отступа, размера шрифта, и указанием жирный/простой
Примеры использования:
addText("Продолжение текста")
addText("Продолжение текста")
- file.addCenterParagraph("текст", размер шрифта, жирный/не жирный)
Пример использования:
- file.addRightParagraph("текст", размер шрифта, жирный/не жирный)
Пример использования:
- file.addLeftParagraph("текст", размер шрифта, жирный/не жирный)
Пример использования:
- file.addTextBreak()
Пример использования:
- file.addText(Object objectValue) - добавление объекта в строковом представлении
- file.addText(“Строка, которая появится в файле”, размер шрифта, жирный/не жирный)
- file.addText(“Строка, которая появится в файле”)
- file.addText(long longValue) - добавление числа типа long в строковом представлении
- file.addText(double doubleValue) - добавление числа типа double в строковом представлении
Примеры использования:
file.addText("Строка, которая появится в файле"), 10, false)
- file.setSizeColumns (int indexColumn, int indexRowStart, int width, int height) - устанавливает ширину и высоту для ячеек заданной колонки
- file.setSizeColumns (int indexColumn, int width) - устанавливает ширину для ячеек заданной колонки
Пример использования:
- file.setCenterAlignment (int indexColumn) - устанавливает выравнивание по центру для всех ячеек заданной колонки
Пример использования:
- file.setBorder (int startColumn, int endColumn, int startRow, int endRow) - устанавливает границы для указанного диапазона ячеек
Пример использования:
- file.addHeaderRow(“Заголовок 1”, “Заголовок 2”,....”Заголовок N”)
Пример использования:
- file.addRow(Object... inp)
- file.addRow(Map<Object, Object>... inp)
Пример использования:
- file.insertRow(индекс, “Данные 1”, “Данные 2”,....”Данные N”)
Пример использования:
- file.replaceRow(индекс, “Данные 1”, “Данные 2”,....”Данные N”)
Пример использования:
- file.addMatrix (List... matrix) - создание таблицы Excel (XLSX, XLS) с данными из List<List>
- file.addMatrix (Map... matrix) - создание таблицы Excel (XLSX, XLS) с данными из List<Map>
Пример использования:
- file.addCellWrap (int indexColumn, int indexRow, Object value) - создание ячейки с переносом текста в указанный столбец и строку текущего листа таблицы Excel (XLSX, XLS) с указанным значением
Пример использования:
- 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()
Пример использования:
- file.createStyle(Шрифт строки, размер строки, цвет строки)
Пример использования:
Наименование используемых строк row.get:
unit | Единица измерения |
quantity | Количество |