Excelize
Nyílt forráskódú Go Library for Spreadsheets
Adatok olvasása, létrehozása, egyesítése és szűrése az Excel XLSX / XLSM / XLTM táblázatfájlokban a Go API-n keresztül.
Az Excelize egy nyílt forráskódú, tiszta Go könyvtár, amely funkcionalitást biztosít a Microsoft Excel XLSX / XLSM / XLTM táblázatfájlok olvasásához és írásához. A fejlesztők saját alkalmazásaikban olvashatják és írhatják a Microsoft Excel™ 2007 és újabb verzióival generált táblázatos dokumentumokat. A könyvtár nagyon felhasználóbarát, és támogatja a nagy táblázatos fájlok olvasását. Egy streaming API-t biztosított a hatalmas mennyiségű adatot tartalmazó munkalapról történő adatok generálásához vagy olvasásához.
A könyvtár teljes mértékben támogatja az Excel táblázatkezelő fájlok kezelésével és feldolgozásával kapcsolatos számos fontos funkciót, mint például Excel fájlok olvasása és írása, cellatartományokkal való munka, Excel sorok kezelése, megjegyzések hozzáadása, cellák összevonása, sorok másolása, feltételes formázás, szövegek beszúrása, táblázatok kezelése Excel-fájlokban, képeket adjon hozzá, új lapokat adjon hozzá és még sok mást.
Az Excelize első lépései
Az Excelize telepítésének javasolt módja a GitHub, kérjük, használja a következő parancsot a gyorsabb telepítés érdekében.
Telepítés a GitHub Command segítségével
go get github.com/360EntSecGroup-Skylar/excelize
Generáljon Excel XLSX fájlt a Go Library segítségével
Az Excelize lehetővé teszi a programozók számára, hogy Excel XLSX-táblázatot hozzanak létre saját Go-alkalmazásaikon belül. A munkalap létrehozása után új lapot is létrehozhat, beállíthatja egy cella értékét, megadhatja a sorok és oszlopok számát, beállíthatja a munkafüzet aktív lapját stb. Ezenkívül nevet is rendelhet egy laphoz, és elmentheti a fájlt a választott útvonalra, beállíthatja a betűtípust és a szövegméretet a létrehozott laphoz.
Excel LS fájl létrehozása a Go API-en keresztül
package main
import (
"fmt"
"github.com/xuri/excelize/v2"
)
func main() {
f := excelize.NewFile()
// Create a new sheet.
index := f.NewSheet("Sheet2")
// Set value of a cell.
f.SetCellValue("Sheet2", "A2", "Hello world.")
f.SetCellValue("Sheet1", "B2", 100)
// Set active sheet of the workbook.
f.SetActiveSheet(index)
// Save spreadsheet by the given path.
if err := f.SaveAs("Book1.xlsx"); err != nil {
fmt.Println(err)
}
}
Diagram beszúrása XLSX fájlba
Az Excel-diagramok a munkalapok adatainak vizuális megjelenítései, amelyek az adatok jobb megértését biztosítják azáltal, hogy nagy mennyiségű adatot összegeznek a munkalap egy kis részében. A diagramok lehetővé teszik a felhasználók számára, hogy vizuálisan megjelenítsék az adatokat különböző formátumokban, például oszlop, oszlop, kör, vonal, terület vagy radar stb. formátumban. Az Excelize könyvtár támogatja a diagramok generálását, valamint a néhány soros kóddal történő vezérlést a saját alkalmazásaiban. Lehetővé teszi diagramok készítését egy munkalapon lévő adatok alapján, vagy diagramok generálását adatok nélkül.
Adjon Chartot az Excel Spreadsheet File-hez Go API
package main
import (
"fmt"
"github.com/xuri/excelize/v2"
)
func main() {
categories := map[string]string{
"A2": "Small", "A3": "Normal", "A4": "Large",
"B1": "Apple", "C1": "Orange", "D1": "Pear"}
values := map[string]int{
"B2": 2, "C2": 3, "D2": 3, "B3": 5, "C3": 2, "D3": 4, "B4": 6, "C4": 7, "D4": 8}
f := excelize.NewFile()
for k, v := range categories {
f.SetCellValue("Sheet1", k, v)
}
for k, v := range values {
f.SetCellValue("Sheet1", k, v)
}
if err := f.AddChart("Sheet1", "E1", `{
"type": "col3DClustered",
"series": [
{
"name": "Sheet1!$A$2",
"categories": "Sheet1!$B$1:$D$1",
"values": "Sheet1!$B$2:$D$2"
},
{
"name": "Sheet1!$A$3",
"categories": "Sheet1!$B$1:$D$1",
"values": "Sheet1!$B$3:$D$3"
},
{
"name": "Sheet1!$A$4",
"categories": "Sheet1!$B$1:$D$1",
"values": "Sheet1!$B$4:$D$4"
}],
"title":
{
"name": "Fruit 3D Clustered Column Chart"
}
}`); err != nil {
fmt.Println(err)
return
}
// Save spreadsheet by the given path.
if err := f.SaveAs("Book1.xlsx"); err != nil {
fmt.Println(err)
}
}
PivotTable létrehozása Excel fájlban
Az Excelize lehetővé teszi a pivot tábla egyszerű létrehozását egy Excel-táblázaton belül. A kimutatások a Microsoft Excel egyik leghatékonyabb funkciója. Ez egy hatékony eszköz az adatok kiszámításához, összegzéséhez és elemzéséhez egy Excel-lapon. Az AddPivotTable függvény használatával egyszerű pivot táblát hozhat létre. Ezenkívül könnyen hozzárendelhet vagy szerkeszthet adatforrást egy pivot táblához.
Generál PivotTable az Excel File-ben Go Apps
func main() {
f := excelize.NewFile()
// Create some data in a sheet
month := []string{"Jan", "Feb", "Mar", "Apr", "May",
"Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}
year := []int{2017, 2018, 2019}
types := []string{"Meat", "Dairy", "Beverages", "Produce"}
region := []string{"East", "West", "North", "South"}
f.SetSheetRow("Sheet1", "A1", &[]string{"Month", "Year", "Type", "Sales", "Region"})
for row := 2; row < 32; row++ {
f.SetCellValue("Sheet1", fmt.Sprintf("A%d", row), month[rand.Intn(12)])
f.SetCellValue("Sheet1", fmt.Sprintf("B%d", row), year[rand.Intn(3)])
f.SetCellValue("Sheet1", fmt.Sprintf("C%d", row), types[rand.Intn(4)])
f.SetCellValue("Sheet1", fmt.Sprintf("D%d", row), rand.Intn(5000))
f.SetCellValue("Sheet1", fmt.Sprintf("E%d", row), region[rand.Intn(4)])
}
if err := f.AddPivotTable(&excelize.PivotTableOptions{
DataRange: "Sheet1!$A$1:$E$31",
PivotTableRange: "Sheet1!$G$2:$M$34",
Rows: []excelize.PivotTableField{
{Data: "Month", DefaultSubtotal: true}, {Data: "Year"}},
Filter: []excelize.PivotTableField{
{Data: "Region"}},
Columns: []excelize.PivotTableField{
{Data: "Type", DefaultSubtotal: true}},
Data: []excelize.PivotTableField{
{Data: "Sales", Name: "Summarize", Subtotal: "Sum"}},
RowGrandTotals: true,
ColGrandTotals: true,
ShowDrill: true,
ShowRowHeaders: true,
ShowColHeaders: true,
ShowLastColumn: true,
}); err != nil {
fmt.Println(err)
}
if err := f.SaveAs("Book1.xlsx"); err != nil {
fmt.Println(err)
}
}
Képek hozzáadása XLSX-táblázatokhoz
Az Excelize-könyvtár olyan funkciókat biztosít, amelyek segítségével képeket adhat hozzá az Excel XLSX-táblázathoz, mindössze néhány soros Go parancs segítségével. A képeket igény szerint módosíthatja is. Képet beszúrhat méretezéssel és nyomtatási támogatással is.
Adjon képet az Excel Worksheet File-hez a Go API segítségével
package main
import (
"fmt"
_ "image/gif"
_ "image/jpeg"
_ "image/png"
"github.com/xuri/excelize/v2"
)
func main() {
f, err := excelize.OpenFile("Book1.xlsx")
if err != nil {
fmt.Println(err)
return
}
defer func() {
// Close the spreadsheet.
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
// Insert a picture.
if err := f.AddPicture("Sheet1", "A2", "image.png", ""); err != nil {
fmt.Println(err)
}
// Insert a picture to worksheet with scaling.
if err := f.AddPicture("Sheet1", "D2", "image.jpg",
`{"x_scale": 0.5, "y_scale": 0.5}`); err != nil {
fmt.Println(err)
}
// Insert a picture offset in the cell with printing support.
if err := f.AddPicture("Sheet1", "H2", "image.gif", `{
"x_offset": 15,
"y_offset": 10,
"print_obj": true,
"lock_aspect_ratio": false,
"locked": false
}`); err != nil {
fmt.Println(err)
}
// Save the spreadsheet with the origin path.
if err = f.Save(); err != nil {
fmt.Println(err)
}
}