之前寫過一篇導出cvs格式的,如果只是簡單導出完全能滿足需要。按時如果想要有復雜需求,如樣式定制、多個sheet之類的,就無法完成了。之后發現有人已經實現golang直接excel對excel的操作,這里分享一下。
地址:https://github.com/tealeg/xlsx
具體各類操作可以直接看里邊給出的示例或直接查看代碼,用法還是很簡單的。這里給出個簡單的測試示例:
package main
import (
"fmt"
"github.com/tealeg/xlsx"
)
func test1() {
var file *xlsx.File
var sheet *xlsx.Sheet
var row *xlsx.Row
var cell *xlsx.Cell
var err error
file = xlsx.NewFile()
sheet = file.AddSheet("Sheet1")
row = sheet.AddRow()
cell = row.AddCell()
cell.Value = "000101"
cell = row.AddCell()
cell.Value = "中文"
err = file.Save("MyXLSXFile.xlsx")
if err != nil {
fmt.Printf(err.Error())
}
}
func test2() {
var file *xlsx.File
var sheet *xlsx.Sheet
var row *xlsx.Row
var cell *xlsx.Cell
var err error
file, _ = xlsx.OpenFile("MyXLSXFile.xlsx")
sheet = file.Sheet["Sheet1"]
row = sheet.AddRow()
cell = row.AddCell()
cell.Value = "000101"
cell = row.AddCell()
cell.Value = "中文1"
err = file.Save("MyXLSXFile1.xlsx")
if err != nil {
fmt.Printf(err.Error())
}
}
func main() {
test1()
test2()
}
