Com crear i omplir un model de dades d'un full de càlcul en C++
Aquesta guia mostra com crear un llibre de treball, omplir cèl·lules amb valors i fórmules, aplicar estils i guardar-los en fitxer d’elaboració utilitzant la biblioteca Aspose.Cells FOSS per a C++. Les classes bàsiques involucrades són: Workbook, Worksheet, Cell, i Style.
Guia de pas a pas
Pas 1: Prepara la construcció
Afegir la biblioteca Cells FOSS al projecte CMake i enllaçar el Aspose.Cells.Foss.Cpp objectiu:
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)Pas 2: Inclou els encabezats i fixa l’espai de noms
Inclou els encabezaments per classe de: aspose/cells_foss/ per cada classe que utilitzeu (Workbook.h, Worksheet.h, Cell.h, Style.h, Font.h, Color.h, CellArea.h), després obre el Aspose::Cells_FOSS espai de noms:
using namespace Aspose::Cells_FOSS;Pas 3: Crear un llibre de treball i nomenar la pàgina
Instantiate Workbook, recuperar la primera plantilla a través de: GetWorksheets()[0], i fixar el seu nom d’ visualització:
int main() {
Workbook workbook;
Worksheet& sheet = workbook.GetWorksheets()[0];
sheet.SetName("Sales");
return 0;
}Pas 4: Ajuntar valors de cèl·lula
Call GetCells()["A1"].PutValue() per escriure cadenes de text, valors numèrics i booleans en cèl·lules individuals segons adreces:
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);Pas 5: Configura una fórmula
Call SetFormula() en una cèl·lula per emmagatzemar una cadena de fórmules compatible amb Excel; la fórmula s’evalua per Excel quan es obrirà el fitxer:
sheet.GetCells()["B4"].SetFormula("=SUM(B2:B3)");Pas 6: Aplicar l’estil de cèl·lula
Tingues l’estil amb Cell::GetStyle(), modificar-la i aplicar amb el mateix procediment. 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);Pas 7: Fondre cèl·lules
Utilització: Cells::Merge per combinar un interval en una sola cel·la:
CellArea titleArea = CellArea::CreateCellArea("A1", "B1");
sheet.GetCells().Merge(0, 0, 1, 2);Pas 8: Salvar el llibre de treball
Call workbook.Save() amb un nom de fitxer per escriure la plantilla com a arxiu XLSX, després cridar Dispose() per alliberar recursos:
workbook.Save("sales.xlsx");
workbook.Dispose();Problemes comuns i fixos
No s’ha aplicat estil després de guardar Sempre trucar. Cell::SetStyle(style) Modificar directament l’estil retorn no aplica canvis; has de tornar a posar-lo explícitament.
Fórmula emmagatzemada com a cadena literal Utilització: SetFormula("=SUM(...)") no, no és així. PutValue("=SUM(...)"). PutValue tracta l’argument com una cadena literal, no una fórmula.
Cel·la fusionada no es presenta correctament Assegureu-vos que els paràmetres de fusió (fixa, columna, rowCount, ColumnCounting) s’estenguin correctament en el rang previst. No es suporten les fusions superposades.
El llibre de treball no té fitxes després de la construcció. Una ficha predeterminada sempre es crea per: Workbook().- Truca. GetWorksheets()[0] per accedir-hi.
Disposar no es diu Sempre trucar. workbook.Dispose() per alliberar recursos, especialment en aplicacions de llarga durada.
Preguntes freqüents
Puc afegir múltiples fulles de treball a un llibre de feina?
Sí, utilitzeu-la. Workbook::GetWorksheets() Per accedir a la col·lecció i afegir fitxes de forma programàtica. Assegureu-vos que cada fulla té un nom únic utilitzant el sistema d’identificació del codi, per exemple: Workbook::EnsureUniqueSheetName().
Com configuro un format de número per a una cèl·lula?
Utilització: Style::SetNumberFormat(format) abans de trucar. Cell::SetStyle(style). Les cadenes de format segueixen la sintaxi estàndard del format de números d’Excel.
Puc aplicar el mateix estil a diverses cèl·lules?
Si. Obteniu el estil una vegada, modifiqueu-lo i després trucareu a la meva empresa. SetStyle(style) en cada cèl·lula objectiu.
La fórmula s’avalua quan es guarda?
No. L’avaluació de la fórmula succeeix en Excel o un lector compatible quan s’obre el fitxer. La biblioteca escriurà la cadena de fórmules a la cèl·lula.
Quantes files i columnes pot contenir una fitxa de treball?
Cada feuilla de treball conté dades a través de la seva xarxa completa de files i columnes, seguint les dimensions estàndard de plantilla.