Интерфейс file

Last modified by Bimit Administrator on 18.07.2023, 10:31

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

  • 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) документа таблицы эксель

Генерация документа с использованием шаблона

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

Генерация отчета по коллизиям и атрибутам

  • collisionsToPdf - генерация pdf по списку коллизий
  • attributesToPdf - генерация pdf по списку атрибутов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • file.addTextBreak()

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

file.addTextBreak()

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

  • file.addText(“Строка, которая появится в файле”, размер шрифта, жирный/не жирный)
  • file.addText(“Строка, которая появится в файле”)

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

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

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

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

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

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

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

  • file.addRow(“Данные 1”, “Данные 2”,....”Данные N”)

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

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());

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)

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

pos

Позиция

code

Обоснование

title

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

units

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

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

quantityPerUnit

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

quantityAll

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

quantityКоличество

priceAll

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

unitPrice_1

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

unitPrice_2

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

unitPrice_3

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

unitPrice_4

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