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.