1. Produkti
  2.   Izklājlapa
  3.   GO
  4.   Excelize  

Excelize  

 
 

Atvērtā pirmkoda Go bibliotēka izklājlapām

Lasiet, izveidojiet, sapludiniet un filtrējiet datus programmā Excel XLSX/XLSM/XLTM izklājlapu faili, izmantojot Go API.

Excelize ir atvērtā pirmkoda tīrā Go bibliotēka, kas nodrošina funkcionalitāti Microsoft Excel XLSX / XLSM / XLTM izklājlapu failu lasīšanai un rakstīšanai. Izstrādātāji var lasīt un rakstīt izklājlapu dokumentus, kas ģenerēti programmā Microsoft Excel™ 2007 un vēlāk savās lietojumprogrammās. Bibliotēka ir ļoti lietotājam draudzīga un atbalsta lielu izklājlapu failu lasīšanu. Tas ir nodrošinājis straumēšanas API datu ģenerēšanai vai lasīšanai no darblapas ar milzīgu datu apjomu.

Bibliotēka pilnībā atbalsta vairākas svarīgas funkcijas, kas saistītas ar Excel izklājlapu failu manipulācijām un apstrādi, piemēram, Excel failu lasīšana un rakstīšana, darbs ar šūnu diapazoniem, Excel rindu pārvaldība, komentāru pievienošana, šūnu sapludināšana, rindu kopēšana, nosacījumformatēšana, tekstu ievietošana, tabulu pārvaldība Excel failos, pievienojiet attēlus, pievienojiet jaunas lapas un daudz ko citu.

Previous Next

Darba sākšana ar Excelize

Ieteicamais Excelize instalēšanas veids ir no GitHub. Lūdzu, izmantojiet šo komandu ātrākai instalēšanai.

Instalējiet, izmantojot  GitHub Command

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

Ģenerējiet Excel XLSX failu, izmantojot Go Library

Excelize ļauj programmētājiem ģenerēt Excel XLSX izklājlapu savās Go lietojumprogrammās. Kad esat izveidojis lapu, varat arī izveidot jaunu lapu, iestatīt šūnas vērtību, definēt rindu un kolonnu skaitu, iestatīt darbgrāmatas aktīvo lapu un veikt citas darbības. Varat arī piešķirt lapai nosaukumu un saglabāt failu jūsu izvēlētajā ceļā, iestatīt izveidotajai lapai fonta veidu un teksta lielumu. 

Izveidojiet Excel XLSX failu, izmantojot Go API

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

Ievietojiet diagrammu XLSX failā

Excel diagrammas ir darblapas datu vizuāli attēlojumi, kas var sniegt lielāku izpratni par datiem, apkopojot lielu datu apjomu nelielā darblapas sadaļā. Diagrammas ļauj lietotājiem vizuāli attēlot datus dažādos formātos, piemēram, joslu, kolonnu, sektoru, līniju, apgabalu vai radaru utt. Excelize bibliotēka atbalsta diagrammu ģenerēšanu, kā arī kontroli, izmantojot tikai dažas koda rindas jūsu lietojumprogrammās. Tas ļauj veidot diagrammas, pamatojoties uz datiem darblapā, vai ģenerēt diagrammas bez jebkādiem datiem.

Pievienojiet diagrammu Excel izklājlapas failam, izmantojot 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)
    }
}

Rakurstabulas izveide Excel failā

Excelize nodrošina iespēju viegli izveidot rakurstabulu Excel izklājlapā. Rakurstabulas ir viena no jaudīgākajām Microsoft Excel funkcijām. Tas ir spēcīgs rīks datu aprēķināšanai, apkopošanai un analīzei Excel lapā. Varat izveidot vienkāršu rakurstabulu, izmantojot funkciju AddPivotTable. Turklāt jūs varat viegli piešķirt vai rediģēt datu avotu rakurstabulai.

Ģenerējiet rakurstabulu Excel failā programmā 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)
    }
}

Pievienojiet attēlus XLSX izklājlapām

Excelize bibliotēka nodrošina funkcionalitāti attēlu pievienošanai Excel XLSX izklājlapai, izmantojot tikai dažas Go komandu rindas. Varat arī mainīt attēlus atbilstoši savām vajadzībām. Varat ievietot attēlu ar mērogošanu, kā arī ar drukas atbalstu.

Pievienojiet attēlu Excel darblapas failam, izmantojot 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)
    }
}
 Latviski