Funkciók áttekintése
Funkciók áttekintése
Aspose.Cells FOSS for Go’s API középpontjában áll Workbook, Worksheet, Cells és Cell. Ez az útmutató végigvezet a könyvtár egyéb képességein: stílus, adatvalidálás, táblázatok, képek és nagy fájlok streaming olvasása.
Cella formázása
Csoportosítsd a Font, Fill, Alignment és Border beállításokat egy újrahasználható Style-be, majd alkalmazd egy cellára a Cell.SetStyle segítségével:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
boldStyle := cells_foss.NewStyle()
boldStyle.Font.Bold = true
boldStyle.Font.Size = 12
highlightStyle := cells_foss.NewStyle()
highlightStyle.Font.Color = "FFFFFFFF"
highlightStyle.Font.Bold = true
highlightStyle.Fill = &cells_foss.Fill{
Type: cells_foss.FillTypeSolid,
Color: "FF4472C4",
}
cell, _ := ws.Cells().Get("A1")
cell.SetStyle(boldStyle)Alignment vezérli a Horizontal, Vertical és WrapText elemeket; Border szabályozza a Top, Bottom, Left és Right szabályláthatóságot, valamint a Color-t.
Adatvalidálás
Worksheet.AddDataValidation egy validációs szabályt csatol egy cellatartományhoz. A DataValidation struktúra tartalmazza a Type szabályt, egy vagy két Formula értéket, valamint a hibaüzenet mezőket:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
dv := &cells_foss.DataValidation{
Type: cells_foss.DataValidationTypeList,
Formula1: `"Apple,Banana,Cherry,Dragonfruit"`,
AllowBlank: true,
ShowErrorMessage: true,
ErrorTitle: "Invalid Fruit",
ErrorMessage: "Please pick a fruit from the list.",
ErrorStyle: cells_foss.ErrorStyleStop,
}
ws.AddDataValidation("A2:A10", dv)Az egész számú tartomány érvényesítése a DataValidationTypeWhole használatával történik, ahol a Formula1/Formula2 az alsó és felső határ.
Táblák
Worksheet.AddTable egy strukturált Table hoz létre egy tartományon, opcionális fejlécsorral és egy elnevezett táblastílussal:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
tbl := ws.AddTable("A1:F6")
tbl.HasHeaderRow = true
tbl.StyleName = "TableStyleMedium6"Egy meglévő táblát név szerint lekérdezhet Worksheet.GetTable(name) segítségével.
Képek
Worksheet.AddPicture beágyaz egy képet; Picture.SetAnchor(row, col) elhelyezi azt:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
imageBytes := []byte{} // populate with real image bytes before use
pic := &cells_foss.Picture{Data: imageBytes, Format: "png"}
ws.AddPicture(pic)
pic.SetAnchor(5, 0)Nagy fájlok streamelése
StreamingReader soronként olvas egy munkalapot egy visszahíváson keresztül, így egy több ezer soros munkafüzetnek sosem kell teljesen betöltődnie a memóriába:
path := "outputfiles/large_workbook.xlsx"
sr := cells_foss.NewStreamingReader(path)
err := sr.ProcessRows("Sheet1", func(rowIdx int, cells map[string]string) error {
// process one row at a time
return nil
})
if err != nil {
fmt.Printf("Error streaming: %v\n", err)
}Tippek és legjobb gyakorlatok
- Használja a
StreamingReaderhelyett a teljesWorkbookbetöltést, ha egy fájl több ezer sort tartalmazhat, és csak olvasni kell, nem módosítani. - Építsen egy
Styleegyszer, és használja újra több cellában, ahelyett, hogy minden cellához újat hozna létre. Cell.SetFormulaszó szerint tárolja a képlet karakterláncot — a megnyitáskor az Excel vagy a LibreOffice értékeli ki, nem a könyvtár mentéskor.- Ellenőrizze a
errorvisszatérési értékét aSave,AddDataValidationés a CSV import/export hívásoknál — a táblázat I/O hibát okozhat érvénytelen útvonalak vagy hibás bemenet esetén.
Gyakori problémák
| Issue | Cause | Javítás |
|---|---|---|
A cella értéke nem látható a Set után | A rossz munkalapra vagy a tartományon kívüli cellahivatkozásra való hivatkozás | Ellenőrizze a Worksheet indexet, és hogy az A1-stílusú hivatkozás egyezik-e a kívánt cellával |
| A képlet nyers szövegként jelenik meg a számítás helyett | A könyvtár csak a képlet karakterláncát tárolja; nem értékeli ki a képleteket | Nyissa meg a fájlt Excelben vagy a LibreOffice-ban, amelyek a megnyitáskor elvégzik a számítást |
| Az adatérvényesítés nem látható Excelben | Érvényesítés került hozzáadva egy olyan tartományhoz, amely nem tartalmazza a célcellát | Erősítse meg, hogy a tartomány karakterlánc (pl. "A2:A10") lefedi azokat a cellákat, amelyeket érvényesíteni szeretne |
FAQ
A könyvtár maga értékeli ki a képleteket?
Nem. Cell.SetFormula/GetFormula tárol egy képlet karakterláncot, amelyet az Excel vagy a LibreOffice értékel ki, amikor a fájlt megnyitják.
Készíthetek-e adatfolyam-írást nagy munkafüzetekhez, nem csak adatfolyam-olvasást?
StreamingReader lefedi az adatfolyam-olvasásokat. Nagy munkafüzetek írása jelenleg a szabványos memóriában lévő Workbook/Worksheet API útján történik.
Alkalmazza-e a AddTable automatikusan az automatikus szűrőt?
Ez nincs megerősítve a jelenlegi API felületen — csak a HasHeaderRow és a StyleName dokumentált Table mezők. Ellenőrizze a generált .xlsx fájlban, ha ez fontos az Ön esetében.
API Reference összegzés
| Osztály / Metódus | Leírás |
|---|---|
Workbook.NewWorkbook / Save | Munkafüzet létrehozása és mentése |
Worksheet.Cells | A munkalap cellagyűjteményének elérése |
Cells.Get / Set / Remove / All | Cellákat olvasni, írni, eltávolítani és felsorolni |
Cell.SetStyle / SetFormula / GetFormula | Stílus és képletek alkalmazása egy cellára |
Style, Font, Fill, Alignment, Border | Újrafelhasználható cellaformázás összeállítása |
Worksheet.AddDataValidation | Érvényesítési szabály csatolása egy cellatartományhoz |
Worksheet.AddTable / GetTable | Strukturált táblatartományok létrehozása és lekérdezése |
Worksheet.AddPicture / Picture.SetAnchor(row, col) | Képek beágyazása és elhelyezése |
StreamingReader.ProcessRows | Munkalap soronkénti adatfolyam |
Workbook.ExportToCSV / ImportFromCSV | Átalakítás XLSX és CSV között |
Workbook.SetPassword / VerifyPassword | Munkafüzet jelszavának védelme és ellenőrzése |