Интерфейс file

Last modified by Bimit Administrator on 02.10.2024, 11:55

Это интерфейс создания и заполнения файлов отчет/смет
В нем доступны следующий функции:

  • 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 по списку атрибутов

Примеры использования в плагинах

create - функция конструктор, создает и подготавливает файл для приема данных, доступны варианта: таблица эксель (XLS, XLSX), текстовый файл(TXT), документ MS Word (DOCX), документ PDF (PDF)

  • file.create(формат создаваемого файла)

Пример использования:

file.create("XLS");  или file.create("TXT");

setStyle - применение указанного стиля к тексту указанной ячейки Excel файла при работе с отчетом

  • file.setStyle (Sheet sheet, Workbook workbook, int indexRow, int indexColumn, ExcelStyleManager)

Пример использования:

  • file.setStyle (Sheet sheet, Workbook workbook, int indexRow, int indexColumn, ExcelStyleManager)

addTitle - добавление заголовка в документ MS Word (DOCX)

  • file.addTitle(Текст) - с базовыми настройками
  • file.addTitle(Текст, Размер шрифта, жирный/не жирный) - с указанием размера шрифта, и указанием жирный/простой

Примеры использования:

addTitle("Заголовок")
addTitle("Заголовок",  30, true)

addParagraph - функция создания нового параграфа в документе MS Word (DOCX)

  • file.addParagraph("Текст") - с базовыми настройками
  • file.addParagraph("Текст", размер отступа, размер шрифта, жирный/не жирный) - с указанием отступа, размера шрифта, и указанием жирный/простой

Примеры использования:

addParagraph("Текст")
addText("Продолжение текста")
addParagraph("Текст", 20, 10, true)
addText("Продолжение текста")

addCenterParagraph - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста посередине и с указанием размера шрифта, и указанием жирный/простой

  • file.addCenterParagraph("текст", размер шрифта, жирный/не жирный)

Пример использования:

addCenterParagraph("Текст",  10, true)

addRightParagraph - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста справа и с указанием размера шрифта, и указанием жирный/простой

  • file.addRightParagraph("текст", размер шрифта, жирный/не жирный)

Пример использования:

addRightParagraph("Текст",  10, true)

addLeftParagraph - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста слева и с указанием размера шрифта, и указанием жирный/простой

  • file.addLeftParagraph("текст", размер шрифта, жирный/не жирный)

Пример использования:

addLeftParagraph("Текст",  10, true)

addTextBreak - функция перевода каретки указателя на новую строку в документе MS Word (DOCX)

  • file.addTextBreak()

Пример использования:

file.addTextBreak()

addText - функция добавления строки с данным в документ MS Word (DOCX)

  • file.addText(Object objectValue) - добавление объекта в строковом представлении
  • file.addText(“Строка, которая появится в файле”, размер шрифта, жирный/не жирный)
  • file.addText(“Строка, которая появится в файле”)
  • file.addText(long longValue) - добавление числа типа long в строковом представлении
  • file.addText(double doubleValue) - добавление числа типа double в строковом представлении

Примеры использования:


file.addText("Строка, которая появится в файле"), 10, false)

file.addText("Строка, которая появится в файле")

setSizeColumns - устанавливает ширину и высоту для ячеек заданной колонки

  • file.setSizeColumns (int indexColumn, int indexRowStart, int width, int height) - устанавливает ширину и высоту для ячеек заданной колонки
  • file.setSizeColumns (int indexColumn, int width) - устанавливает ширину для ячеек заданной колонки

Пример использования:

setCenterAlignment - устанавливает выравнивание по центру для всех ячеек заданной колонки

  • file.setCenterAlignment (int indexColumn) - устанавливает выравнивание по центру для всех ячеек заданной колонки

Пример использования:

setBorder - устанавливает границы для указанного диапазона ячеек

  • file.setBorder (int startColumn, int endColumn, int startRow, int endRow) - устанавливает границы для указанного диапазона ячеек

Пример использования:

addHeaderRow - функция которая формирует заголовок на странице эксель файла

  • file.addHeaderRow(“Заголовок 1”, “Заголовок 2”,....”Заголовок N”)

Пример использования:

file.addHeaderRow("Код", "Название", "Ед. изм.", "Кол. во.");

addRow - функция которая формирует строку на странице эксель файла

  • file.addRow(Object... inp)
  • file.addRow(Map<Object, Object>... inp)

Пример использования:

file.addRow( row.get("code"), row.get("title"), row.get("units"), row.get("quantityAll"));

insertRow - функция которая вставляет строку на указанную позицию на странице эксель файла

  • file.insertRow(индекс, “Данные 1”, “Данные 2”,....”Данные N”)

Пример использования:

file.insertRow(6, "Вставленная строка", 1 , 2.453, new Date(), Calendar.getInstance());

replaceRow - функция которая замещает строку на указанной позицию на странице эксель файла

  • file.replaceRow(индекс, “Данные 1”, “Данные 2”,....”Данные N”)

Пример использования:

file.replaceRow(7, "Замещенная строка", 4 , 5.678, new Date(), Calendar.getInstance());

addMatrix - создание таблицы Excel (XLSX, XLS) с данными из List

  • file.addMatrix (List... matrix) - создание таблицы Excel (XLSX, XLS) с данными из List<List>
  • file.addMatrix (Map... matrix) - создание таблицы Excel (XLSX, XLS) с данными из List<Map>

Пример использования:

addCellWrap - создание ячейки с переносом текста в указанный столбец и строку текущего листа таблицы Excel (XLSX, XLS) с указанным значением

  • file.addCellWrap (int indexColumn, int indexRow, Object value) - создание ячейки с переносом текста в указанный столбец и строку текущего листа таблицы Excel (XLSX, XLS) с указанным значением

Пример использования:

deleteRow - функция которая удаляет строку с указанной позиции на странице эксель файла

  • file.deleteRow(индекс)

Пример использования:

file.deleteRow(3);

autoSizeColumns - функция установки автоматической ширины колонок страницы эксель файла

  • file.autoSizeColumns() - для всех колонок на странице
  • file.autoSizeColumns(индекс колонки) - для конкретной колонки на странице

Пример использования:

file.autoSizeColumns()

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/)

getParagraph - получение интерфейса текущего параграфа XWPFParagraph (https://poi.apache.org/apidocs/4.1/org/apache/poi/xwpf/usermodel/XWPFParagraph.html) документа MSWord  (полную документацию см. https://poi.apache.org/apidocs/4.1/)

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/)

getSheet - получение интерфейса текущей страницы с таблицей (https://poi.apache.org/apidocs/4.1/org/apache/poi/ss/usermodel/Sheet.html) документа таблицы эксель (полную документацию см. https://poi.apache.org/apidocs/4.1/)

Общий пример:

def start() {
    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"), );
   }
}

templateToPdf - генерация pdf документа из шаблона

  • template.add(“название тега в шаблоне”, данные)
  • file.templateToPdf(template)

Пример использования:

def project = bim.getProject()
template.add("project", project)
file.templateToPdf(template)

collisionsToPdf - генерация pdf по списку коллизий

  • file.collisionsToPdf(template, list, params):
  • template - необязательный параметр (указывается в том случае, если таблицу коллизий необходимо добавить в конец какого-либо шаблона). Если не указывать, то создается новый пустой файл, в который заносится таблица коллизий
  • list - список коллизий. Обязательное поле. Получить данный лист необходимо командой bim.getCollisionsForReport()
  • params - необязательный параметр (описание ниже)

            Параметры при генерации отчета по коллизиям:
            pageSize - 1, 2, 3 или 4 (соответствует размеру страницы А1, А2, А3, А4)
            fontSize - int значение размера шрифта (в pt)

            Пример использования:

 def param = [:]
 param.add("pageSize", 3)
 param.add("fontSize", 12)

            По умолчанию параметры принимают следующие значения:
            pageSize - 4
            fontSize - 8

Пример использования:

def collisionList = bim.getCollisionsForReport()
 def param = [:]
 param.add("pageSize", 3)
 param.add("fontSize", 12)
 file.collisionsToPdf(template, collisionList, param)
 def collisionList = bim.getCollisionsForReport()
 file.collisionsToPdf(collisionList)

attributesToPdf - генерация pdf по списку атрибутов

  • file.attributesToPdf(template, list, params)

addAreaBreak - добавление разрыва области PDF документа

  • file.addAreaBreak() 

Пример использования:

addImage - добавление изображения в документ  Ms Word(DOCX) или PDF, ести тип файла другой, запись идет в поток

  • file.addImage(byte[] imageFile) 

Пример использования:

addDrawing - добавление чертежа в документ MS Word (DOCX) или PDF, метод принимает на вход массив байтов, содержащий чертеж и двумерный массив, содержащий координаты точек чертежа

  • file.addDrawing(byte[] drawingPage, double[][] arr) 

Пример использования:

addCell - создание ячейки в указанный столбец

  • file.addCell(int indexColumn, int indexRow, Object value)  - создание ячейки в указанный столбец и строку текущего листа таблицы Excel (XLSX, XLS) с указанным значением
  • file.addCell(int indexColumn, Object value)  - создание ячейки в указанный столбец в конец строки текущего листа таблицы Excel (XLSX, XLS) с указанным значением

Пример использования:

replaceRow - замена значений указанной строки новыми значениями текущего листа таблицыи Excel (XLSX, XLS)

  • file.replaceRow(int indexRow, Object... inp) 

Пример использования:

sortASC - сортировка таблицы документа Excel (XLSX, XLS) в порядке возрастания по значению в указанном столбце

  • file.sortASC(int indexColumn) 

Пример использования:

sortDESC - сортировка таблицы документа Excel (XLSX, XLS) в порядке убывания по значению в указанном столбце

  • file.sortDESC(int indexColumn) 

Пример использования:

saveTempTable - сохранение значений из потока в таблицу Excel (XLSX, XLS), находящейся по указанному пути

  • file.saveTempTable(String tablesTempLocation) 

Пример использования:

xlsxToJSON - преобразование содержимого документа Excel (XLSX, XLS)

  • file.xlsxToJSON(int page, int pageSize)  - преобразование содержимого документа Excel (XLSX, XLS) с указанной страницы, с указанным количеством строк в формат JSON
  • file.xlsxToJSON(String tablesTempLocation, int page, int pageSize)  - преобразование содержимого документа Excel (XLSX, XLS), находящегося по указанному пути в формате JSON, с учетом указанной страницы и указанных количество строк

Пример использования:

getResource - метод возвращает объект Ms Word (DOCX), PDF, текстовый файл (TXT) или Excel (XLSX, XLS)

  • file.getResource() 

Пример использования:

makeGrandSmetaExelTable - создание документа Excel (XLSX, XLS) для отчета о гранд-смете

  • file.makeGrandSmetaExelTable() 

Пример использования:

createStyle - создание нового стиля для формирования текста и формата ячеек Excel при работе с отчетом

  • file.createStyle(Шрифт строки, размер строки, цвет строки)

Пример использования:

createStyle(10, 15, green)

Наименование используемых строк row.get:

pos

Позиция

code

Обоснование

title

Наименование

units

Единицы измерений

unitЕдиница измерения

quantityPerUnit

Количество на ед.

quantityAll

Количество всего

quantityКоличество

priceAll

Стоимость единицы всего

unitPrice_1

Стоимость единицы Осн. з/п

unitPrice_2

Стоимость единицы Эк.маш

unitPrice_3

Стоимость единицы З/пМех

unitPrice_4

Стоимость единицы Мат