Hogyan hozhatunk létre és tölthetünk ki egy táblázatadatmodellt C++-ban?
Ez a kézikönyv bemutatja, hogyan lehet munkaműt létrehozni, cellákat tölteni értékekkel és képletekkel, stílusokat alkalmazni, valamint táblázatfájlként menteni a Aspose.Cells FOSS for C++ könyvtár segítségével. A lényeges osztályok: Workbook, Worksheet, Cell,és a következők: Style.
Lépésről lépésre szóló útmutató
1. lépés: Állítsd fel az épületet!
Adja hozzá a Cells FOSS könyvtárat a CMake projekthez, és kapcsoljon össze az Aspose.Cells.Foss.Cpp célpont:
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. lépés: Beilleszti a címsorokat és beállítja a névterületet
A klassziszállal kapcsolatos címsorok bejegyzése a következőkből: aspose/cells_foss/ minden egyes használt osztályra (Workbook.h, Worksheet.h, Cell.h, Style.h, Font.h, Color.h, CellArea.h), majd nyissa ki a Aspose::Cells_FOSS névterület:
using namespace Aspose::Cells_FOSS;3. lépés: Hozzon létre egy munkafüzetet és nevezze meg a lapot
Azonnali megjelenítés Workbook, az első munkalapot a . GetWorksheets()[0], és a kijelző nevét adja be:
int main() {
Workbook workbook;
Worksheet& sheet = workbook.GetWorksheets()[0];
sheet.SetName("Sales");
return 0;
}4. lépés: Cella értékek hozzáadása
Hívj! GetCells()["A1"].PutValue() szövegláncok, számértékek és booleánok beírása egyes cellákba cím alapjá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);5. lépés: Készítsen egy képletet
Hívj! SetFormula() egy cellában az Excel-kompatibilis képlet szalagszoros tárolására; a képletet az excel értékeli, amikor megnyitja a fájlt:
sheet.GetCells()["B4"].SetFormula("=SUM(B2:B3)");6. lépés: A cellás stílus alkalmazása
Szerezd meg a stílust. Cell::GetStyle(), módosítja, és alkalmazza a következők szerint: 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. lépés: Cella egyesítése
Használat Cells::Merge egy tartomány egyetlen cellába történő kombinálása:
CellArea titleArea = CellArea::CreateCellArea("A1", "B1");
sheet.GetCells().Merge(0, 0, 1, 2);8. lépés: Vedd le a munkafüzetet
Hívj! workbook.Save() egy fájlnévvel, hogy írja a táblázat XLSX-fájlok, majd hívni Dispose() források felszabadítása:
workbook.Save("sales.xlsx");
workbook.Dispose();Általános problémák és megoldások
A mentés után nem alkalmazott stílus Mindig hívj. Cell::SetStyle(style) A visszaadott stílus közvetlenül módosítása nem alkalmazza a változást; azt kifejezetten vissza kell állítani.
A szorzat-szokás formájában tárolt képlet Használat SetFormula("=SUM(...)") nem. PutValue("=SUM(...)"). PutValue az érvet szó szerint tartja, nem pedig képletként.
Összeolvadt cellák nem megfelelően megjelenítések Biztosítsák, hogy a egyesítési paraméterek (sor, oszlop, sorszámláló,oszlopszáma) megfelelően terjedjenek át az elterjedt tartományon. A felfedésű egyesítéseket nem támogatják.
A munkafüzet nem tartalmaz lapot a felépítés után. A default lapot mindig a következők hozzák létre: Workbook().Hívj fel. GetWorksheets()[0] hogy hozzáférhessenek hozzá.
Nem hívják el. Mindig hívj. workbook.Dispose() erőforrások felszabadítására, különösen hosszú távú alkalmazások esetében.
Gyakran feltett kérdések
Hozhatok több munkalapot egy könyvbe?
Igen, használd. Workbook::GetWorksheets() A programok segítségével minden lapnak egyedi neve kell legyen. Workbook::EnsureUniqueSheetName().
Hogyan állíthatom be a számformátumot egy cellára?
Használat Style::SetNumberFormat(format) mielőtt hívná. Cell::SetStyle(style).A formátumszövegek követik a standard Excel számformátumszintakciót.
Használhatom ugyanazt a stílust több cellára?
Igen, egyszer szerezzük meg a stílust, módosítsuk és hívjuk fel. SetStyle(style) minden célsejtre.
A képlet értékelésre kerül, amikor mentett?
Nem. A képlet értékelése az Excelben vagy egy kompatibilis olvasóban történik, amikor a fájl kinyitásra kerül. Az könyvtár írja a képletek szalagját a cellába.
Hány sor és oszlop tud egy munkalapban?
Minden munkalap tartalmaz adatokat a sorok és oszlopok teljes rácsán, követve az általános táblázat méreteit.