Cum să creați și popularizați un model de date spreadsheet în C ++

Cum să creați și popularizați un model de date spreadsheet în C ++

Acest ghid arată cum să creați o carte de lucru, să umpleți celulele cu valori și formule, aplicați stiluri și salvați ca fișier de tabel folosind biblioteca Aspose.Cells FOSS pentru C++. Clasele principale implicate sunt: Workbook, Worksheet, Cell, și Style.

Ghid pas cu pas

Pasul 1: Construirea

Adăugați biblioteca Cells FOSS la proiectul CMake și conectați Aspose.Cells.Foss.Cpp obiectiv:

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)

Pasul 2: Includeți titluri și setați spații de nume

Includeți intitularea de la: aspose/cells_foss/ pentru fiecare clasă pe care o utilizați (Workbook.h, Worksheet.h, Cell.h, Style.h, Font.h, Color.h, CellArea.h), apoi deschideţi Aspose::Cells_FOSS spațiu de nume:

using namespace Aspose::Cells_FOSS;

Pasul 3: Creați o carte de lucru și denumiți foaia

Instanțiate Workbook, obțineți prima foaie de lucru prin intermediul GetWorksheets()[0], și setarea numelui de afișare:

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

Pasul 4: Adăugați valorile celulei

Sună-mă. GetCells()["A1"].PutValue() pentru a scrie șiruri de text, valori numerice și booleane în celule individuale prin adresă:

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

Pasul 5: Stabiliţi o formulă

Sună-mă. SetFormula() pe o celulă pentru a stoca un șir de formule compatibile cu Excel; formula este evaluată de către Excel atunci când se deschide fișierul:

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

Pasul 6: Aplicați stilarea celulei

Ia stilul cu Cell::GetStyle(), modifică și aplică împreună cu: 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);

Pasul 7: Combinați celulele

Utilizare: Cells::Merge pentru a combina o gamă într-o singură celulă:

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

Pasul 8: Salvaţi cartea de lucru

Sună-mă. workbook.Save() cu un nume de fișier pentru a scrie feuilleton ca un fișier XLSX, apoi sunați Dispose() să elibereze resurse:

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

Probleme comune şi soluţii

Stilul nu este aplicat după salvare Întotdeauna sună. Cell::SetStyle(style) Modificarea directă a stilului returnat nu aplică modificările; trebuie să îl setati explicit înapoi.

Formula stocată ca literal de șir Utilizare: SetFormula("=SUM(...)") nu, în mod normal. PutValue("=SUM(...)"). PutValue tratează argumentul ca pe o șiră literală, nu ca o formulă.

Celulară fuzionată nu se prezintă corect Asigură-te că parametrii de fuziune (rând, coloană, rowCount, columnCounting) acoperă corect intervalul dorit. Fusele care se suprapun nu sunt suportate.

Cărțile de lucru nu au foi după construcție. O foaie implicită este întotdeauna creată de: Workbook().Sună-mă. GetWorksheets()[0] să acceseze.

Dispărează nu a fost numit. Întotdeauna sună. workbook.Dispose() pentru a elibera resurse, în special în aplicații de lungă durată.

Întrebări frecvente

Pot adăuga mai multe foi de lucru într-o carte?

Da, foloseşte-l. Workbook::GetWorksheets() Asigură-te că fiecare fișă are un nume unic folosind Workbook::EnsureUniqueSheetName().

Cum să setăm formatul unui număr pentru o celulă?

Utilizare: Style::SetNumberFormat(format) înainte de a suna. Cell::SetStyle(style). Format strings urmează standard Excel format numeric de sintaxa.

Pot aplica același stil la mai multe celule?

Obţine stilul o dată, modifică-l şi apoi sună. SetStyle(style) pe fiecare celulă ţintă.

Formula se evaluează când este salvată?

Nu. Evaluarea formulei se face în Excel sau într-un cititor compatibil atunci când fișierul este deschis. Biblioteca scrie șirul de formule la celulă.

Câte rânduri și coloane poate avea o foaie de lucru?

Fiecare fișă de lucru conține date pe întreaga sa rețea de rânduri și coloane, urmând dimensiunile standard ale fișierului de calcul.

Vezi și:

 Română