Atveriet bibliotēku darbam ar Excel XLSX dokumentiem
Atvērtā pirmkoda Go API, kas atbalsta Microsoft Excel XLSX izklājlapu ģenerēšanu, darblapu pārvaldību, rindu un kolonnu apstrādi darblapās, izmantojot Go API.
Xlsx bibliotēka nodrošina ļoti ātru un uzticamu veidu, kā strādāt ar Microsoft Excel failiem, izmantojot Go. Bibliotēka palīdz vienkāršot Excel XLSX faila formāta lasīšanu un rakstīšanu. XLSX faila formāts tika ieviests 2007. gadā, un tajā tiek izmantots Open XML standarts, ko Microsoft adaptēja 2000. gadā. Bibliotēka ir atvērtā pirmkoda un pieejama saskaņā ar BSD-3 klauzulas licenci.
Atvērtā koda xlsx bibliotēkā ir iekļauts atbalsts vairākiem svarīgiem līdzekļiem, kas saistīti ar Microsoft Excel dokumentu izveidi un manipulācijām, piemēram, jauna XlSX faila izveide, esošo Excel failu atvēršana, piekļuve jūsu darblapām, jaunu darblapu pievienošana, rindu un kolonnu pārvaldība darblapā, pievienošana šūnas, šūnu iegūšana no rindas, šūnu formatēšana, stilu pielietošana šūnām, nosaukto diapazonu atbalsts un daudz kas cits.
Darba sākšana ar Xlsx2Go
Ieteicamais xlsx instalēšanas veids ir no GitHub. Lūdzu, izmantojiet šo komandu vienmērīgai instalēšanai.
Instalējiet xlsx, izmantojot GitHub
go get https://github.com/tealeg/xlsx.git
JAUNU XLSX failu izveide, izmantojot Go Library
Atvērtā koda xlsx bibliotēka sniedz programmatūras izstrādātājiem iespēju no jauna izveidot jaunu tukšu XLSX failu, izmantojot pāris Go komandas. Izstrādātāji var izmantot jauno funkciju NewFile(), lai ģenerētu jaunu failu. Kad darbgrāmata ir izveidota, varat tai viegli pievienot jaunu saturu. Varat viegli pievienot jaunu lapu vai pievienot esošu lapu. Kad tas ir izveidots un darbs ir pabeigts, lūdzu, saglabājiet savu darbu, ieteicams Aizvērt() lapu.
Izveidojiet un rediģējiet Excel XLSX failu, izmantojot Go API
// Demonstrates how to create/open/save XLSX files
func Example_files() {
// Create a new XLSX file
xl := xlsx.New()
// Open the XLSX file using file name
xl, err := xlsx.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
defer xl.Close()
// Open the XLSX file using file handler
zipFile, err := os.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
xl, err = xlsx.Open(zipFile)
if err != nil {
log.Fatal(err)
}
// Update the existing XLSX file
err = xl.Save()
if err != nil {
log.Fatal(err)
}
// Save the XLSX file under different name
err = xl.SaveAs("new_file.xlsx")
if err != nil {
log.Fatal(err)
}
}
Piekļūstiet un lasiet XLSX failus
Atvērtā koda xlsx bibliotēka ir nodrošinājusi funkciju kopu, kas ļauj izstrādātājiem piekļūt esošam XLSX izklājlapas failam un lasīt to savās Go lietojumprogrammās. Varat arī viegli piekļūt darbgrāmatas lapām, izmantojot tikai dažas Go komandas. Izstrādātāji var arī viegli piekļūt konkrētai lapai pēc savas izvēles.
Piekļūstiet un lasiet Excel failam, izmantojot Go Library
func Example_access() {
xl, err := xlsx.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
defer xl.Close()
// Get sheet by 0-based index
sheet := xl.Sheet(0)
// Get cell by 0-based indexes
cell := sheet.Cell(13, 27)
fmt.Println(cell.Value())
// Get cell by reference
cell = sheet.CellByRef("N28")
fmt.Println(cell.Value())
// Get row by 0-based index
row := sheet.Row(9)
fmt.Println(strings.Join(row.Values(), ","))
// Get cell of row at 0-based col index
cell = row.Cell(0)
fmt.Println(cell.Value())
// Get col by 0-based index
col := sheet.Col(3)
fmt.Println(strings.Join(col.Values(), ","))
// Get cell of col at 0-based row index
cell = col.Cell(0)
fmt.Println(cell.Value())
// Get range by references
area := sheet.RangeByRef("D10:H13")
fmt.Println(strings.Join(area.Values(), ","))
}
Rindu un kolonnu apstrāde darblapās
Šūnas ir Excel darblapas mugurkauls. Darblapa sastāv no šūnām, kas sakārtotas rindās un kolonnās. Xlsx bibliotēka nodrošina programmatūras izstrādātājiem plašu funkciju klāstu, kas ļauj apstrādāt rindas un kolonnas savās lietotnēs, izmantojot komandas Go. Tā atbalsta jaunu rindu un kolonnu pievienošanu, rindu un kolonnu atkārtošanu, nevēlamu rindu un kolonnu dzēšanu, jaunu šūnu pievienošanu rindai, vērtības iegūšanu no šūnas, formatējuma piemērošanu šūnu diapazonam un daudz ko citu.
Ievietojiet kolonnas un rindas Excel darblapā, izmantojot Go Library
func Example_insert() {
xl, err := xlsx.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
defer xl.Close()
sheet := xl.Sheet(0)
fmt.Println(sheet.Dimension())
fmt.Println(strings.Join(sheet.Col(3).Values(), ","))
// Insert a new col
sheet.InsertCol(3)
fmt.Println(sheet.Dimension())
fmt.Println(strings.Join(sheet.Col(3).Values(), ","))
fmt.Println(strings.Join(sheet.Col(4).Values(), ","))
// Insert a new row
fmt.Println(strings.Join(sheet.Row(9).Values(), ","))
sheet.InsertRow(3)
fmt.Println(sheet.Dimension())
fmt.Println(strings.Join(sheet.Row(9).Values(), ","))
fmt.Println(strings.Join(sheet.Row(10).Values(), ","))
}
Lietojiet stilus un formatējumu
Bezmaksas bibliotēkas xlsx bibliotēka ir nodrošinājusi vairākas svarīgas funkcijas, kas ļauj programmatūras izstrādātājiem viegli lietot formatējumu un stilus savām izklājlapām. Stili nodrošina šūnu izkārtojumu un noformējumu, piemēram, fontu, krāsu, satura līdzinājumu, fonta lielumu, aizpildījumu u.c. Varat viegli lietot stilu virknei šūnu, izmantojot tikai dažas koda rindiņas. Jums vienkārši jāizveido stils vienreiz un jāizmanto atkārtoti, kad nepieciešams. Šūnām varat lietot arī skaitļu un datuma formātus.
Lietojiet stilus un formatējumu Excel failam, izmantojot Go Library
gfunc Example_formatting() {
xl, err := xlsx.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
defer xl.Close()
// Create a new format for a bold font with red color and yellow solid background
redBold := styles.New(
styles.Font.Bold,
styles.Font.Color("#ff0000"),
styles.Fill.Background("#ffff00"),
styles.Fill.Type(styles.PatternTypeSolid),
)
// Add formatting to xlsx
styleID := xl.AddStyles(redBold)
sheet := xl.Sheet(0)
// Set formatting for cell
sheet.CellByRef("N28").SetStyles(styleID)
// Set DEFAULT formatting for row. Affects cells not yet allocated in the row.
// In other words, this style applies to new cells.
sheet.Row(9).SetStyles(styleID)
// Set DEFAULT formatting for col. Affects cells not yet allocated in the col.
// In other words, this style applies to new cells.
sheet.Col(3).SetStyles(styleID)
//set formatting for all cells in range
sheet.RangeByRef("D10:H13").SetStyles(styleID)
}