Як створити та заповнити модель даних таблиці в C++

Як створити та заповнити модель даних таблиці в C++

Цей керівництво показує, як створити робочу книжку, заповнити клітини значеннями та формулами, застосувати стилі і зберегти в якості файлу таблиці з використанням бібліотеки Aspose.Cells FOSS для C++. Основні класи: Workbook, Worksheet, Cell, і Style.

Крок за кроком посібник

Перший крок: Створити.

Додайте бібліотеку FOSS клітин до проекту CMake і зв’яжіть Aspose.Cells.Foss.Cpp цільовий:

cmake_minimum_required(VERSION 3.15)
project(CreateSpreadsheet CXX)
set(CMAKE_CXX_STANDARD 17)

add_subdirectory(path/to/Aspose.Cells-FOSS-for-Cpp)
add_executable(CreateSpreadsheet main.cpp)
target_link_libraries(CreateSpreadsheet PRIVATE Aspose.Cells.Foss.Cpp)

Крок 2: Включити заголовки та встановити ім’я простору

Включити заголовки класу з: aspose/cells_foss/ для кожного класу, який ви використовуєте (Workbook.h, Worksheet.h, Cell.h, Style.h, Font.h, Color.h, CellArea.h), потім відкрити Aspose::Cells_FOSS namespace: (простір імена):

using namespace Aspose::Cells_FOSS;

Крок 3: Створіть робочий лист і назвіть його

Instantiate Workbook, отримати перший лист за допомогою: GetWorksheets()[0], і встановити його назву:

int main() {
    Workbook workbook;
    Worksheet& sheet = workbook.GetWorksheets()[0];
    sheet.SetName("Sales");
    return 0;
}

Крок 4: Додавання цінностей клітини

Call GetCells()["A1"].PutValue() для запису текстових радків, числових значень та булевих кодирок в окремі клітини за адресою:

sheet.GetCells()["A1"].PutValue("Product");
sheet.GetCells()["B1"].PutValue("Price");
sheet.GetCells()["A2"].PutValue("Widget");
sheet.GetCells()["B2"].PutValue(9.99);
sheet.GetCells()["A3"].PutValue("Gadget");
sheet.GetCells()["B3"].PutValue(24.99);

Крок 5: Назначити формулу

Call SetFormula() на клітинці для зберігання послідовності формули, сумісної з Excel; формула оцінюється в Excel при відкритті файлу:

sheet.GetCells()["B4"].SetFormula("=SUM(B2:B3)");

Крок 6: Застосовуйте стиль клітин

Знайдіть стиль з Cell::GetStyle(), змінювати її і застосовувати з Cell::SetStyle(style):

Style headerStyle = sheet.GetCells()["A1"].GetStyle();
Font font;
font.SetBold(true);
font.SetColor(Color::FromArgb(255, 255, 255, 255));
headerStyle.SetFont(font);
headerStyle.SetPattern(FillPattern::Solid);
headerStyle.SetForegroundColor(Color::FromArgb(255, 34, 120, 212));
sheet.GetCells()["A1"].SetStyle(headerStyle);
sheet.GetCells()["B1"].SetStyle(headerStyle);

Крок 7: Злиття клітин

Використання Cells::Merge для об’єднання діапазону в одну ячейку:

CellArea titleArea = CellArea::CreateCellArea("A1", "B1");
sheet.GetCells().Merge(0, 0, 1, 2);

Крок 3 Створення нового файлу MSG

Call workbook.Save() з іменем файлу, щоб написати таблицю як XLSX-файл, а потім подзвонить Dispose() звільнення ресурсів:

workbook.Save("sales.xlsx");
workbook.Dispose();

Загальні проблеми та рішення

Стіль не застосований після збереження Завжди звоніть. Cell::SetStyle(style) Після зміни об’єкта стилю. Зміна поверненого стилу безпосередньо не застосовує змін; ви повинні чітко відновити його.

Формула, збережена як буквальний ряд. Використання SetFormula("=SUM(...)") не є. PutValue("=SUM(...)"). PutValue розглядає аргумент як буквальну строку, а не формулу.

Неправильно відтворюється злита клітина Переконайтеся, що параметри злиття (строчка, стовпник, RowCount, columnCounting) правильно простягаються на передбачений діапазон. Перекривання зліття не підтримується.

Складова книжка не має листів після будівництва. Попередній лист завжди створюється: Workbook().Подзвони. GetWorksheets()[0] щоб отримати до нього доступ.

Викинути не викликано Завжди звоніть. workbook.Dispose() звільнити ресурси, особливо в довготривалих застосуваннях.

Часто задавані запитання

Чи можна додати кілька таблиць до однієї книги?

Так, використовуйте. Workbook::GetWorksheets() Переконайтеся, що кожен лист має унікальну назву з використанням Workbook::EnsureUniqueSheetName().

Як я встановлюю формат числа для клітини?

Використання Style::SetNumberFormat(format) перед закликанням. Cell::SetStyle(style). Форматні ланцюжки слідують стандартному синтаксису формату чисел Excel.

Чи можна застосувати один і той же стиль до декількох клітин?

Отримай стиль один раз, модифікуй його і подзвоні. SetStyle(style) на кожній цільовій клітці.

Чи оцінюється формула, коли вона збережена?

Не. Оцінка формули відбувається в Excel або з сумісним читачем, коли файл відкривається. Бібліотека пише строку формулі до клітини.

Скільки рядків і стовплів може містити таблиця?

Кожний лист містить дані по всій його сітці з рядків та стовпців, що слідують стандартним розмірам табличного листа.

See Also

 Українська