Интерфейсы для работы с листами и ячейками ACell

XSpreadsheets

Интерфейс XSpreadsheets позволяет работать с листами в ACell, предоставляя методы для доступа к ним по имени и для выполнения операций с ними, таких как вставка, копирование, удаление.

Получение интерфейса XSpreadsheets :
Reference<XSpreadsheets> xSheets = xDoc->getSheets();
- xDoc - объект ссылающийся на интерфейс XSpreadsheetDocument
- getSheets() - метод интерфейса XSpreadsheetDocument для получения объекта листов в ACell

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

Reference<XSpreadsheetDocument> xDoc(xComponent,  UNO_QUERY_THROW);

// Получаем интерфейс XSpreadsheets для работы с листами книги

Reference<XSpreadsheets> xSheets = xDoc->getSheets();

// Добавляем новый лист

//xSheets->insertNewByName("My Sheet", 0);


Методы интерфейса  XSpreadsheets:


  • copyByName(aName, aCopy, nDestination) -  этот метод позволяет создать копию листа,  в коллекции.
Параметры:
  • string aName - имя копируемого листа.
  • string aCopy - имя копии листа.
  • short nDestination - индекс, по которому следует поместить копию в коллекцию.
Возвращаемое значение: void


  • insertNewByName(aName, nPosition) - этот метод интерфейса позволяет создать новый лист и добавить его в коллекцию.
Параметры:
  • string aName - имя нового листа
  • short nPosition - индекс, по которому следует поместить новый лист в коллекцию
Возвращаемое значение: void

  • moveByName(aName, nDestination) -  перемещает лист внутри коллекции.
Параметры:
  • string aName - имя листа, которую нужно переместить
  • short nDestination - новый индекс для листа в коллекции
Возвращаемое значение: void

XCell

Интерфейс XCell Предоставляет методы для доступа к содержимому ячейки в листе.

Получение интерфейса XCell:
Reference<XCell> xSetCellValueFirst(xFirstCell, UNO_QUERY_THROW);
- xFirstCell  - объект содержащий объект ячейки "А2" и ссылающийся на интерфейс  XCellRange с объектом листа с индексом 0
UNO_QUERY_TYPE -  тип запроса интерфейса (). Описание всех типов запроса:  https://support.almi-partner.ru/#knowledge_base/1/locale/ru/answer/105

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

// Получаем первый лист книги
Reference<XCellRange> xSheet(xSheetIA->getByIndex(0), UNO_QUERY_THROW) ;

//Получаем доступ к ячейкам xCellRange по имени

Reference<XCellRange> xFirstCell = xSheet->getCellRangeByName("A2");
Reference<XCellRange> xSecondCell = xSheet->getCellRangeByName("B2");

Reference<XCell> xSetCellValueFirst(xFirstCell, UNO_QUERY_THROW);
Reference<XCell> xSetCellValueSecond(xSecondCell, UNO_QUERY_THROW);

xSetCellValueFirst->setFormula("Hello");
xSetCellValueSecond->setFormula("World");

Методы интерфейса XCell:

  • getError() - возвращает значение ошибки ячейки. Если ячейка не содержит формулу, то значение ошибки всегда равно нулю.
Параметры:
-
Возрващаемое значение: long

  • getFormula() - возвращает формулу ячейки.
Параметры:
-
Возвращаемое значение: string

  • getType() - возвращает тип ячейки.
Параметры:
-
Возвращаемое значение: CellContentType

  • getValue() - возвращает числовое значение ячейки с плавающей точкой. Если ячейка содержит число, то метод вернет число. Если ячейка содержит текст, то будет возвращен ноль. Если ячейка содержит формулу, то будет возвращен результат формулы.
Параметры:
-
Возвращаемое значение: double

  • setFormula(aFormula) - устанавливает формулу в ячейку. При присваивании строка будет интерпретирована, и в зависимости от текста или числового формата будет создана ячейка со значением, текстом или формулой.
Параметры:
  • string aFormula - необходимая формула.
Возвращаемое значение: void

  • setValue(nValue) - устанавливает вещественное значение в ячейку. После вызова этого метода тип ячейки становится CellContentType::VALUE.
Параметры:
  • double nValue - необходимое значение
Возвращаемое значение: void


XMergeable

Интерфейс XMergeable позволяет объединять ячейки в таблице ACell.


Получение интерфейса  XMergeable:
Reference<XMergeable> xMerge(xCellRange, UNO_QUERY_THROW);
- xCellRange - объект диапазона ячеек ссылающийся на интерфейс XCellRange
UNO_QUERY_TYPE -  тип запроса интерфейса (). Описание всех типов запроса:  https://support.almi-partner.ru/#knowledge_base/1/locale/ru/answer/105

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

//Получаем диапазон ячеек

Reference<XCellRange> xCellRange = xSheet->getCellRangeByName("A1:C3");

//Получаем объект XMergeable

Reference<XMergeable> xMerge(xCellRange, UNO_QUERY_THROW);

//Объединяем ячейки

xMerge->merge(true);


Методы интерфейса  XMergeable:


  • getIsMerged() - возвращает TRUE, если указанная область ячеек объединена,  в противном случае - FALSE.
Параметры:
-
Возвращаемое значение: boolean

  • merge(bMerge) - объединяет/разъединяет область указанных ячеек.
Параметры:
  • boolean bMerge - если установить TRUE, ячейки будут объединены. Если FALSE, разъединены

Возвращаемое значение: void

XColumnRowRange

XColumnsRowRange предоставляет методы для доступа к коллекциям столбцов и строк в таблице ACell.

Получение интерфейса XColumnsRowRange:
Reference<XColumnRowRange> xCRRange(xSheet, UNO_QUERY_THROW);
xSheet - объект листа с индексом 0 ссылающийся на интерфейс XCellRange
UNO_QUERY_TYPE -  тип запроса интерфейса (). Описание всех типов запроса:  https://support.almi-partner.ru/#knowledge_base/1/locale/ru/answer/105

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

//Получаем объект листа с индексом 0

Reference<XCellRange> xSheet(xSheetIA->getByIndex(0), UNO_QUERY_THROW);

//Получаем объект XColumnRowRange

Reference<XColumnRowRange> xCRRange(xSheet, UNO_QUERY_THROW);

//Получаем объект столбцов листа ACell

//Интерфейсы XTableColumns и XTableRows описаны в статье: https://support.almi-partner.ru/#knowledge_base/1/locale/ru/answer/146

Reference<XTableColumns>xColumns(xCRRange->getColumns(), UNO_QUERY_THROW);


Методы интерфейса XColumnsRowRange:


  • getColumns() - возвращает коллекцию столбцов.
Параметры:
-
Возвращаемое значение: com::sun::star::table::XTableColumns

  • getRows() - возвращает коллекцию строк.
Параметры:
-
Возвращаемое значение: com::sun::star::table::XTableRows



Ниже представлены примеры на языке C++ и C#, которые демонстрируют некоторые из возможностей AlterOffice API. Каждый пример нацелен на выполнение определенной задачи: создание и удаление листа,  создание диалогового окна с названием и количеством листов, вставка строк и столбцов, установка границы и объединение ячеек. 
Прикреплённые файлы
create_and_delete_list_by_name.cpp
404kb
create_and_delete_list_by_name.cs
404kb
for_linux.tar
404kb
insert_columns_and_rows.cpp
404kb
insert_columns_and_rows.cs
404kb
msgbox.cpp
404kb
msgbox.cs
404kb
set_border_and_merge_cells.cpp
404kb
set_border_and_merge_cells.cs
404kb