Biblioteka Go do pracy z dokumentami Excel XLSX
Open Source Go API, który obsługuje generowanie arkuszy kalkulacyjnych Microsoft Excel XLSX, zarządzanie arkuszami oraz obsługę wierszy i kolumn w arkuszach za pomocą interfejsu Go API.
Biblioteka xlsx zapewnia bardzo szybki i niezawodny sposób pracy z plikami Microsoft Excel za pomocą Go. Biblioteka pomaga uprościć odczytywanie i zapisywanie formatu pliku Excel XLSX. Format pliku XLSX został wprowadzony w 2007 roku i wykorzystuje standard Open XML zaadaptowany przez Microsoft w 2000 roku. Biblioteka jest open source i jest dostępna na licencji BSD-3-Clause.
Biblioteka xlsx typu open source zawiera obsługę kilku ważnych funkcji związanych z tworzeniem i manipulowaniem dokumentami Microsoft Excel, takich jak tworzenie nowego pliku XlSX, otwieranie istniejących plików Excel, dostęp do arkuszy roboczych, dodawanie nowych arkuszy roboczych, zarządzanie wierszami i kolumnami w arkuszu, dodawanie komórki, pobieranie komórki z wiersza, formatowanie komórek, stosowanie stylów do komórek, obsługa nazwanych zakresów i wiele więcej.
Pierwsze kroki z Xlsx2Go
Zalecany sposób instalacji xlsx pochodzi z GitHub. Użyj następującego polecenia, aby uzyskać płynną instalację.
Zainstaluj xlsx przez GitHub
go get https://github.com/tealeg/xlsx.git
Tworzenie NOWYCH plików XLSX przez Go Library
Biblioteka xlsx Open source daje programistom możliwość tworzenia nowego pustego pliku XLSX od podstaw za pomocą kilku poleceń Go. Deweloperzy mogą użyć nowej funkcji NewFile() do wygenerowania nowego pliku. Po utworzeniu możesz łatwo dodać nową zawartość do skoroszytu. Możesz z łatwością dodać nowy arkusz lub dołączyć istniejący arkusz. Po utworzeniu i zakończeniu pracy prosimy o zapisanie swojej pracy, zaleca się Zamknij ()arkusz.
Twórz i edytuj plik Excel LS przez 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)
}
}
Dostęp i odczyt plików XLSX
Biblioteka xlsx Open source zapewnia zestaw funkcji, które umożliwiają programistom otwieranie i odczytywanie istniejącego pliku arkusza kalkulacyjnego XLSX we własnych aplikacjach Go. Możesz także łatwo uzyskać dostęp do arkuszy skoroszytu za pomocą kilku poleceń Go. Deweloperzy mogą również z łatwością uzyskać dostęp do wybranego przez siebie arkusza.
Dostęp i Czytaj plik Excel za pośrednictwem biblioteki Go
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(), ","))
}
Obsługa wierszy i kolumn w arkuszach roboczych
Komórki są podstawą arkusza programu Excel. Arkusz roboczy składa się z komórek zorganizowanych w wiersze i kolumny. Biblioteka xlsx zapewnia programistom szeroki zakres funkcji do obsługi wierszy i kolumn w ich aplikacjach za pomocą poleceń Go. Obsługuje dodawanie nowych wierszy i kolumn, iterację wierszy i kolumn, usuwanie niechcianych wierszy i kolumn, dodawanie nowych komórek do wiersza, pobieranie wartości z komórki, stosowanie formatowania do zakresu komórek i wiele innych.
Umieścić kolumny i Ross w arkuszu Excel za pośrednictwem biblioteki Go
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(), ","))
}
Zastosuj style i formatowanie
Biblioteka Free library xlsx zapewnia kilka ważnych funkcji, które umożliwiają programistom łatwe stosowanie formatowania i stylów do ich arkuszy kalkulacyjnych. Style zapewniają układ i dekorację komórek, takie jak czcionka, kolor, wyrównanie zawartości, rozmiar czcionki, wypełnienie itp. Możesz łatwo zastosować styl do zakresu komórek za pomocą zaledwie kilku wierszy kodu. Wystarczy raz stworzyć styl i użyć go ponownie w razie potrzeby. Możesz także zastosować formaty liczb i dat dla komórek.
Zastosuj style i formowanie do pliku Excel za pośrednictwem biblioteki Go
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)
}