用于处理 Microsoft Excel XLSX 电子表格的 Go API
纯 Go 库,支持通过开源 Go API 轻松创建、格式化和操作 MS Excel XLSX 电子表格。
Xlsx2Go 是开源的纯 Go 库,它提供了一种使用 Go 语言命令处理 Microsoft Excel XLSX 电子表格的非常简单的方法。该库非常稳定,可以执行快速操作,并提供了一种非常可靠的方式来使用 Golang 处理 XLSX 电子表格。只需几行代码,您就可以管理与电子表格创建、格式化和操作相关的多项操作。
Xlsx2Go 库包含对与 Excel 电子表格处理相关的几个重要功能的支持,例如制作新电子表格、打开、修改或删除现有电子表格文件、向工作簿添加新 Excel 工作表、添加新单元格、格式化 Excel 单元格、验证单元格数据、条件格式支持、工作表单元格合并和取消合并、嵌入的图像和照片、复制工作表、复制行或列等等。
Xlsx2Go 入门
将 Xlsx2Go 安装到项目中的推荐方法是使用 GitHub。请使用以下命令进行顺利安装。
通过 GitHub 安装 Xlsx2Go
go get https://github.com/LucienLS/xlsx2go.git
通过 Go API 生成 XLSX 电子表格
开源库 Xlsx2Go 允许计算机程序员使用 Go 命令在他们自己的应用程序中生成 Excel XLSX 电子表格。您还可以轻松打开、修改或删除现有电子表格。您还可以使用一些重要功能,例如向工作表插入新行和新列、设置单元格的默认值、将格式应用于一系列单元格等。
通过走API生成和修改Excel LS文件
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 单元格添加注释、获取一行中的所有单元格、创建新单元格、选择一系列单元格、将样式应用于一系列单元格、添加超链接到单元格,在单元格中设置时间和日期等等。
在应用程序中插入列和Ross到扩展表格
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 库提供了以编程方式轻松附加工作表列、行和工作表的功能。
通过五十六路追随罗斯、列和表
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(), ","))
}
通过API号政府管理电子表格
免费库 Xlsx2Go 使软件开发人员能够添加样式以使用 Go 命令格式化其电子表格。开发人员可以轻松创建新格式来设置字体样式、字体颜色、背景颜色等。您可以为一系列单元格以及整个工作表设置格式。您还可以轻松地为行和列设置默认格式。您可以轻松地将图像和照片添加到工作表
通过四十国集团应用表格
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)
}