1. Produse
  2.   Foaie de calcul
  3.   GO
  4.   Excelize  

Excelize  

 
 

Open Source Go Library pentru foi de calcul

Citiți, creați, îmbinați și filtrați date în fișiere Excel XLSX / XLSM / XLTM cu foi de calcul prin Go API.

Excelize este o bibliotecă Go pur cu sursă deschisă care oferă funcționalități pentru citirea și scrierea fișierelor de foi de calcul Microsoft Excel XLSX / XLSM / XLTM. Dezvoltatorii pot citi și scrie documente de foi de calcul generate de Microsoft Excel™ 2007 și mai târziu în cadrul propriilor aplicații. Biblioteca este foarte ușor de utilizat și acceptă citirea fișierelor mari de foi de calcul. A furnizat un API de streaming pentru generarea sau citirea datelor dintr-o foaie de lucru cu cantități uriașe de date.

Biblioteca acceptă pe deplin câteva caracteristici importante legate de manipularea și procesarea fișierelor de foi de calcul Excel, cum ar fi citirea și scrierea fișierelor Excel, lucrul cu intervale de celule, gestionarea rândurilor Excel, adăugarea de comentarii, îmbinarea celulelor, copierea rândurilor, formatarea condiționată, inserarea de texte, gestionarea tabelelor în fișiere Excel, adăugați imagini, adăugați foi noi și multe altele.

Previous Next

Noțiuni introductive cu Excelize

Modul recomandat de a instala Excelize este din GitHub, vă rugăm să utilizați următoarea comandă pentru o instalare mai rapidă.

Instalați prin  Comanda GitHub

 go get github.com/360EntSecGroup-Skylar/excelize 

Generați fișierul Excel XLSX prin Go Library

Excelize le permite programatorilor să genereze o foaie de calcul Excel XLSX în propriile aplicații Go. Odată ce ați creat foaia, puteți crea și o foaie nouă, puteți seta valoarea unei celule, puteți defini numărul de rânduri și coloane, puteți stabili o foaie activă a registrului de lucru și multe altele. Puteți, de asemenea, să atribuiți un nume unei foi și să salvați fișierul pe calea dorită, să setați tipul de font și dimensiunea textului pentru o foaie creată. 

Creați fișierul Excel LS

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)
    }
}

Inserați diagramă într-un fișier XLSX

Diagramele Excel sunt reprezentări vizuale ale datelor dintr-o foaie de lucru care pot transmite mai multă înțelegere a datelor prin rezumarea unor cantități mari de date într-o mică secțiune a foii de lucru. Diagramele permit utilizatorilor să afișeze vizual date în diferite formate, cum ar fi bară, coloană, plăcintă, linie, zonă sau radar etc. Biblioteca Excelize acceptă generarea de diagrame, precum și controlul cu doar câteva linii de cod în propriile aplicații. Permite construirea de diagrame pe baza datelor dintr-o foaie de lucru sau generarea de diagrame fără date.

Adăugați fișierul Excel Spreadsheet File prin 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)
    }
}

Crearea tabelului pivot în fișierul Excel

Excelize oferă capacitatea de a crea cu ușurință un tabel pivot în interiorul unei foi de calcul Excel. Tabelele pivot sunt una dintre cele mai puternice caracteristici ale Microsoft Excel. Este un instrument puternic pentru a calcula, rezuma și analiza datele dvs. într-o foaie Excel. Puteți crea un tabel pivot simplu utilizând funcția AddPivotTable. În plus, puteți aloca sau edita cu ușurință sursa de date unui tabel pivot.

Generația PivotTable în fișier Excel în aplicațiile Go

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)
    }
}

Adăugați imagini în foile de calcul XLSX

Biblioteca Excelize oferă funcționalitate pentru adăugarea de imagini la o foaie de calcul Excel XLSX cu doar câteva rânduri de comenzi Go. De asemenea, puteți modifica imaginile în funcție de nevoile dvs. Puteți insera o imagine cu scalare, precum și cu suport de imprimare.

Adaugă imagine fișierului Excel Worksheet via Go API

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)
    }
}
 Română