Как да създадете и популяризирате модел на данни от таблица в C++

Как да създадете и популяризирате модел на данни от таблица в C++

Това ръководство показва как да създадете работна книга, запълнете клетки с стойности и формули, приложи стилове и запазете като файл на електронна таблица чрез библиотеката Aspose.Cells FOSS for 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 пространство за имена:

using namespace Aspose::Cells_FOSS;

Стъпка 3: Създайте работен лист и дайте име на листата

Инстанциране Workbook, изтегляне на първия работен лист чрез GetWorksheets()[0], и да зададе името на изображението:

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

Стъпка 4: Добавяне на стойности в клетка

Обади се. 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: Направи формула

Обади се. 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);

Стъпка 8: Запази работния лист

Обади се. 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 или съвместим читател, когато файлът е отворен. Библиотеката пише последователността от формули към клетката.

Колко реда и колони може да съдържа един лист?

Всеки работен лист съдържа данни в цялата си мрежа от редове и колони, следвайки стандартните размери на електронния таблица.

Вижте също:

 Български