Cómo crear y popularizar un modelo de datos en C++

Cómo crear y popularizar un modelo de datos en C++

Este guía muestra cómo crear un libro de trabajo, popular las células con valores y fórmulas, aplicar estilos y guardar como archivo de hoja de espalda utilizando el Aspose.Cells FOSS para la biblioteca C++. Workbook, Worksheet, Cell,y, Style.

Guía paso a paso

Paso 1: Instalar el edificio

Añade la biblioteca de Cells FOSS a su proyecto CMake y enlaza el Aspose.Cells.Foss.Cpp El objetivo:

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)

Paso 2: Incluye los heads y configura el nombre de espacio

Incluye los cabezas de clase por aspose/cells_foss/ Para cada clase que utilizas (Workbook.h, Worksheet.h, Cell.h, Style.h, Font.h, Color.h, CellArea.hEntonces, abriendo el Aspose::Cells_FOSS El nombre:

using namespace Aspose::Cells_FOSS;

Paso 3: Crea un libro de trabajo y llame la hoja

Instantía Workbook,Recuperar la primera hoja de trabajo a través de GetWorksheets()[0],y aprueba su nombre de exhibición:

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

Paso 4: Añadir valores celulares

llamadas GetCells()["A1"].PutValue() para escribir líneas de texto, valores numéricos y booleanos en células individuales por dirección:

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

Paso 5: Crea una fórmula

llamadas SetFormula() en una célula para almacenar una línea de fórmula compatible con Excel; la fórmula se evalúa por Excel cuando el archivo se abre:

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

Paso 6: Aplique el estilamiento celular

Obtenga el estilo con Cell::GetStyle(),Modificarlo y aplicarlo con 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);

Paso 7: Células de la mezcla

Uso Cells::Merge Para unir una gama en una sola célula:

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

Paso 8: Salva el libro de trabajo

llamadas workbook.Save() con un nombre de archivo para escribir la hoja de referencia como un fichero XLSX, luego llamar Dispose() Para liberar los recursos:

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

Problemas y soluciones comunes

El estilo no aplicado después de salvar Siempre llamo Cell::SetStyle(style) Modificar el estilo devuelto directamente no aplica cambios; debe configurarlo explicitamente.

Formulario almacenado como string literal Uso SetFormula("=SUM(...)") No PutValue("=SUM(...)"). PutValue El argumento se trata como una línea literal, no como un formulario.

Célula de la que no se hace correctamente Asegúrese de que los parámetros de fusión (rojo, columna, rowCount, ColumnCounta) se extienden correctamente el rango previsto.

El libro de trabajo no tiene hojas después de la construcción Una hoja de defecto siempre se crea por Workbook().llamadas GetWorksheets()[0] para acceder a ella.

No disponer de llamadas Siempre llamo workbook.Dispose() para liberar recursos, especialmente en aplicaciones de largo plazo.

Preguntas frecuentes

¿Puedo añadir varias hojas de trabajo a un mismo libro?

Sí, usamos Workbook::GetWorksheets() para acceder a la colección y agregar las hojas de forma programática. Asegúrese que cada hoja tiene un nombre único utilizando Workbook::EnsureUniqueSheetName().

¿Cómo puedo configurar un formato de número para una célula?

Uso Style::SetNumberFormat(format) Antes de llamar Cell::SetStyle(style).Las líneas de formato siguen la síntesis del formato número estándar de Excel.

¿Puedo aplicar el mismo estilo a múltiples células?

Obtenga el estilo una vez, modifiquelo y luego llame SetStyle(style) en cada célula de destino.

¿La fórmula se evalúa cuando se salva?

No. La evaluación de la fórmula ocurre en Excel o un lector compatible cuando se abre el archivo.La biblioteca escribe la línea de fórmula a la célula.

¿Cuántas líneas y columnas puede tener una hoja de trabajo?

Cada hoja de trabajo mantiene datos a través de su red completa de líneas y columnas, siguiendo las dimensiones estándar de la hoja.

Ver también

 Español