文件名称:操作OfficeExcel文档类库Excelize.zip
文件大小:471KB
文件格式:ZIP
更新时间:2022-08-07 20:58:34
开源项目
Excelize 是 Golang 编写的一个用来操作 Office Excel 文档类库,基于微软的 Office OpenXML 标准。可以使用它来读取、写入 XLSX 文件。相比较其他的开源类库,Excelize 支持写入原本带有图片(表)的文档,还支持向 Excel 中插入图片,并且在保存后不会丢失图表样式。 安装 go get github.com/Luxurioust/excelize 创建 XLSX package main import ( "fmt" "os" "github.com/Luxurioust/excelize" ) func main() { xlsx := excelize.CreateFile() // Create a new sheet. xlsx.NewSheet(2, "Sheet2") // Set value of a cell. xlsx.SetCellValue("Sheet2", "A2", "Hello world.") xlsx.SetCellValue("Sheet1", "B2", 100) // Set active sheet of the workbook. xlsx.SetActiveSheet(2) // Save xlsx file by the given path. err := xlsx.WriteTo("/tmp/Workbook.xlsx") if err != nil { fmt.Println(err) os.Exit(1) } } 读写已有文档 package main import ( "fmt" "os" "github.com/Luxurioust/excelize" ) func main() { xlsx, err := excelize.OpenFile("/tmp/Workbook.xlsx") if err != nil { fmt.Println(err) os.Exit(1) } // Get value from cell by given sheet index and axis. cell := xlsx.GetCellValue("Sheet1", "B2") fmt.Println(cell) // Get all the rows in a sheet. rows := xlsx.GetRows("Sheet2") for _, row := range rows { for _, colCell := range row { fmt.Print(colCell, "\t") } fmt.Println() } } 向 XLSX 中插入图片 package main import ( "fmt" "os" _ "image/gif" _ "image/jpeg" _ "image/png" "github.com/Luxurioust/excelize" ) func main() { xlsx, err := excelize.OpenFile("/tmp/Workbook.xlsx") if err != nil { fmt.Println(err) os.Exit(1) } // Insert a picture. err = xlsx.AddPicture("Sheet1", "A2", "/tmp/image1.gif", "") if err != nil { fmt.Println(err) } // Insert a picture to sheet with scaling. err = xlsx.AddPicture("Sheet1", "D2", "/tmp/image2.jpg", `{"x_scale": 0.5, "y_scale": 0.5}`) if err != nil { fmt.Println(err) } // Insert a picture offset in the cell with printing support. err = xlsx.AddPicture("Sheet1", "H2", "/tmp/image3.gif", `{"x_offset": 15, "y_offset": 10, "print_obj": true, "lock_aspect_ratio": false, "locked": false}`) if err != nil { fmt.Println(err) } // Save the xlsx file with the origin path. err = xlsx.Save() if err != nil { fmt.Println(err) os.Exit(1) } } 标签:Excelize
【文件预览】:
excelize-master
----chart.go(60KB)
----table.go(14KB)
----go.mod(172B)
----rows_test.go(17KB)
----lib.go(7KB)
----sheetview.go(6KB)
----chart_test.go(63KB)
----.github()
--------ISSUE_TEMPLATE()
----README_zh.md(7KB)
----sheet_test.go(7KB)
----sheetpr_test.go(4KB)
----docProps_test.go(2KB)
----xmlApp.go(2KB)
----xmlContentTypes.go(1KB)
----templates.go(12KB)
----go.sum(833B)
----picture_test.go(6KB)
----xmlStyles.go(15KB)
----hsl.go(4KB)
----excelize_test.go(40KB)
----calcchain.go(2KB)
----styles_test.go(4KB)
----docProps.go(5KB)
----errors_test.go(630B)
----sheet.go(49KB)
----errors.go(808B)
----vmlDrawing.go(5KB)
----picture.go(19KB)
----PULL_REQUEST_TEMPLATE.md(2KB)
----xmlDecodeDrawing.go(10KB)
----xmlWorkbook.go(15KB)
----date_test.go(2KB)
----xmlCalcChain.go(5KB)
----xmlTheme.go(6KB)
----codelingo.yaml(86B)
----adjust_test.go(3KB)
----sheetpr.go(5KB)
----CONTRIBUTING.md(21KB)
----.travis.yml(345B)
----comment.go(10KB)
----xmlComments.go(3KB)
----date.go(6KB)
----shape.go(15KB)
----datavalidation_test.go(3KB)
----LICENSE(2KB)
----xmlSharedStrings.go(2KB)
----test()
--------SharedStrings.xlsx(6KB)
--------Book1.xlsx(20KB)
--------images()
--------MergeCell.xlsx(8KB)
--------BadWorkbook.xlsx(6KB)
--------CalcChain.xlsx(6KB)
----xmlWorksheet.go(34KB)
----xmlCore.go(4KB)
----file.go(4KB)
----xmlChart.go(23KB)
----README.md(6KB)
----col.go(12KB)
----rows.go(16KB)
----col_test.go(6KB)
----cell.go(17KB)
----xmlTable.go(10KB)
----cellmerged_test.go(1013B)
----sheetview_test.go(4KB)
----logo.png(3KB)
----datavalidation.go(8KB)
----CODE_OF_CONDUCT.md(3KB)
----.gitignore(37B)
----xmlDrawing.go(18KB)
----excelize.go(8KB)
----styles.go(86KB)
----excelize.png(27KB)
----cell_test.go(3KB)
----lib_test.go(5KB)
----cellmerged.go(2KB)
----adjust.go(9KB)