Hogyan hozhatunk létre és tölthetünk ki egy táblázatadatmodellt C++-ban?

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.

Lásd még:

 Magyar