Go API за обработка на Microsoft Excel XLSX електронни таблици
Библиотека Pure Go, която поддържа създаване, форматиране и манипулиране на MS Excel XLSX електронни таблици с лекота чрез Open Source Go API.
Xlsx2Go е чиста go библиотека с отворен код, която предоставя много лесен начин за работа с електронни таблици Microsoft Excel XLSX с помощта на команди на езика Go. Библиотеката е много стабилна и може да извършва бързи операции и дава много надежден начин за работа с електронната таблица XLSX с помощта на Golang. Само с няколко реда код можете да управлявате няколко операции, свързани със създаването, форматирането и манипулирането на електронни таблици.
Библиотеката Xlsx2Go включва поддръжка за няколко важни функции, свързани с обработката на електронни таблици в Excel, като създаване на нова електронна таблица, отваряне, модифициране или изтриване на съществуващ файл с електронна таблица, добавяне на нов лист в Excel към работна книга, добавяне на нови клетки, форматиране на клетка в Excel , валидиране на данни от клетки, поддръжка на условно форматиране, обединяване и премахване на обединяване на клетки от работен лист, вградени изображения и снимки, копиране на работни листове, копиране на редове или колони и много повече.
Първи стъпки с Xlsx2Go
Препоръчителният начин да инсталирате Xlsx2Go във вашия проект е чрез GitHub. Моля, използвайте следната команда за гладка инсталация.
Инсталирайте Xlsx2Go чрез GitHub
go get https://github.com/LucienLS/xlsx2go.git
Генерирайте XLSX електронна таблица чрез Go API
Библиотеката с отворен код Xlsx2Go позволява на компютърните програмисти да генерират електронна таблица на Excel XLSX в собствените си приложения, като използват команди Go. Можете също така лесно да отворите, промените или изтриете съществуваща електронна таблица. Можете също да използвате няколко важни функции като вмъкване на нови редове и колони в лист, задаване на стойността по подразбиране на клетка, прилагане на форматиране към диапазон от клетки и др.
Създаване и модифициране на Excel LS файл чрез Go API
func main() {
// 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)
}
}
Управление на клетки и редове в работен лист на Excel
Безплатната библиотека Xlsx2Go включва няколко важни функции, свързани с управлението на клетки и редове в електронни таблици на Excel. Можете лесно да вмъкнете нови редове и клетки, да обедините редове и клетки, да добавите коментар към клетка на Excel, да получите всички клетки в ред, създаване на нова клетка, да изберете диапазон от клетки, да приложите стилове към диапазон от клетки, да добавите хипервръзка към клетка, задайте час и дата в клетка и много други.
Вмъкване на колони и Рос в приложения за Go
func main() {
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(), ","))
}
Приложете Рос, Колони и Листове в работен лист
Понякога потребител или организация има множество работни листове с подобни структури (редове и колони) и иска да обедини информацията в един голям работен лист. Функцията за добавяне помага на разработчиците да добавят един работен лист или няколко работни листа към съществуващ или да комбинират всички в един нов работен лист. Библиотеката Xlsx2Go предоставя функционалност за програмно добавяне на колони, редове, както и листове в работен лист с лекота.
Приложете Рос, Колони и Листове чрез Гоу API
func main() {
xl, err := xlsx.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
defer xl.Close()
sheet := xl.Sheet(0)
// To append a new col/row, simple request it - sheet will be auto expanded.
// E.g.: we have 14 cols, 28 rows.
fmt.Println(sheet.Dimension())
// Append 72 rows
sheet.Row(99)
fmt.Println(sheet.Dimension())
// Append 36 cols
sheet.Col(49)
fmt.Println(sheet.Dimension())
// Append 3 sheet
fmt.Println(strings.Join(xl.SheetNames(), ","))
xl.AddSheet("new sheet")
xl.AddSheet("new sheet")
xl.AddSheet("new sheet")
fmt.Println(strings.Join(xl.SheetNames(), ","))
}
Форматиране на електронни таблици чрез Go API
Безплатната библиотека Xlsx2Go позволява на разработчиците на софтуер да добавят стилове за форматиране на своите електронни таблици с помощта на Go команди. Разработчиците могат лесно да създадат нов формат, за да зададат стилове на шрифтове, цвят на шрифта, цвят на фона и много други. Можете да зададете форматиране за диапазон от клетки, както и за целия работен лист. Можете също да зададете форматиране по подразбиране за реда, както и за колона с лекота. Можете лесно да добавяте изображения и снимки към работен лист
Форматиране на таблицата чрез Go API
func main() {
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)
}