Eikite į biblioteką, skirtą darbui su „Excel XLSX“ dokumentais
Atvirojo kodo „Go“ API, palaikanti „Microsoft Excel XLSX“ skaičiuoklių generavimą, tvarkyti darbalapius, tvarkyti darbo lapų eilutes ir stulpelius per „Go API“.
xlsx biblioteka yra labai greitas ir patikimas būdas dirbti su Microsoft Excel failais naudojant Go. Biblioteka padeda supaprastinti Excel XLSX failo formato skaitymą ir rašymą. XLSX failo formatas buvo pristatytas 2007 m. ir naudoja Open XML standartą, kurį Microsoft adaptavo dar 2000 m. Biblioteka yra atvirojo kodo ir prieinama pagal BSD-3-Clause licenciją.
Atvirojo kodo xlsx bibliotekoje yra palaikymas kelioms svarbioms funkcijoms, susijusioms su Microsoft Excel dokumentų kūrimu ir manipuliavimu, pvz., naujo XlSX failo kūrimas, esamų Excel failų atidarymas, prieiga prie darbalapių, naujų darbalapių įtraukimas, eilučių ir stulpelių tvarkymas darbalapyje, pridėjimas. langeliai, langelių gavimas iš eilutės, langelių formatavimas, stilių taikymas langeliams, pavadintų diapazonų palaikymas ir daug daugiau.
Darbo su Xlsx2Go pradžia
Rekomenduojamas būdas įdiegti xlsx yra iš GitHub. Norėdami sklandžiai įdiegti, naudokite šią komandą.
Įdiekite xlsx per „GitHub“.
go get https://github.com/tealeg/xlsx.git
NAUJŲ XLSX failų kūrimas per „Go Library“.
Atvirojo kodo xlsx biblioteka suteikia programinės įrangos kūrėjams galimybę sukurti naują tuščią XLSX failą nuo nulio naudojant kelias Go komandas. Kūrėjai gali naudoti naują NewFile() funkciją, kad sukurtų naują failą. Sukūrę darbaknygę galėsite lengvai pridėti naujo turinio. Galite lengvai pridėti naują lapą arba pridėti esamą. Sukūrę ir atlikę darbą, išsaugokite savo darbą, rekomenduojama Uždaryti()lapą.
Kurkite ir redaguokite „Excel XLSX“ failą naudodami „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)
}
}
Pasiekite ir skaitykite XLSX failus
Atvirojo kodo xlsx biblioteka pateikė funkcijų rinkinį, leidžiantį kūrėjams atidaryti ir skaityti esamą XLSX skaičiuoklės failą savo „Go“ programose. Taip pat galite lengvai pasiekti darbaknygės lapus naudodami tik keletą komandų Eiti. Kūrėjai taip pat gali lengvai pasiekti tam tikrą pasirinktą lapą.
Pasiekite ir skaitykite „Excel“ failą naudodami „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(), ","))
}
Eilučių ir stulpelių tvarkymas darbalapiuose
Ląstelės yra „Excel“ darbalapio pagrindas. Darbalapį sudaro langeliai, suskirstyti į eilutes ir stulpelius. „Xlsx“ biblioteka programinės įrangos kūrėjams suteikia daugybę funkcijų, skirtų eilėms ir stulpeliams tvarkyti savo programose naudojant „Go“ komandas. Jis palaiko naujų eilučių ir stulpelių pridėjimą, eilučių ir stulpelių kartojimą, nepageidaujamų eilučių ir stulpelių ištrynimą, naujų langelių įtraukimą į eilutę, vertės gavimą iš langelio, formatavimo taikymą langelių diapazonui ir daug daugiau.
Įterpkite stulpelius ir eilutes į „Excel“ darbalapį naudodami „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(), ","))
}
Taikykite stilius ir formatavimą
Nemokamos bibliotekos xlsx bibliotekoje yra keletas svarbių funkcijų, kurios leidžia programinės įrangos kūrėjams lengvai pritaikyti formatavimą ir stilius savo skaičiuoklėms. Stiliai suteikia langelių išdėstymą ir apipavidalinimą, pvz., šriftą, spalvą, turinio lygiavimą, šrifto dydį, užpildymą ir t. t. Galite lengvai pritaikyti stilių daugeliui langelių naudodami tik kelias kodo eilutes. Jums tereikia vieną kartą sukurti stilių ir pakartotinai jį naudoti, kai reikia. Taip pat langeliams galite taikyti skaičių ir datos formatus.
Taikykite stilius ir formatavimą „Excel“ failui naudodami „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)
}