本文为转载,原文:Golang 第三方库学习 · xlsx
Golang
介绍
xlsx 是对新版本的Excel进行简单读写操作的golang第三方库,支持的文件格式是.xlsx
源码
第三方库源码:
https://github.com/tealeg/xlsx
本文源码:
https://github.com/Chain-Zhang/third-lib
安装
go get github.com/tealeg/xlsx
使用
Read
excel 文件内容:
excel数据
读取excel文件代码:
import( "fmt"
"github.com/tealeg/xlsx")
var (
inFile = "/Users/chain/Downloads/student1.xlsx")func Import(){ // 打开文件
xlFile, err := xlsx.OpenFile(inFile) if err != nil {
fmt.Println(err.Error()) return
} // 遍历sheet页读取
for _, sheet := range xlFile.Sheets {
fmt.Println("sheet name: ", sheet.Name) //遍历行读取
for _, row := range sheet.Rows { // 遍历每行的列读取
for _, cell := range row.Cells {
text := cell.String()
fmt.Printf("%20s", text)
}
fmt.Print("\n")
}
}
fmt.Println("\n\nimport success")
}测试代码:
import( "testing")func TestImport(t *testing.T){
Import()
}结果:
导入结果
Write
import( "strconv"
"fmt"
"github.com/tealeg/xlsx")
var (
inFile = "/Users/chain/Downloads/student1.xlsx"
outFile = "/Users/chain/Downloads/out_student.xlsx")
type Student struct{
Name string
age int
Phone string
Gender string
Mail string}func Export(){
file := xlsx.NewFile()
sheet, err := file.AddSheet("student_list") if err != nil {
fmt.Printf(err.Error())
}
stus := getStudents() //add data
for _, stu := range stus{
row := sheet.AddRow()
nameCell := row.AddCell()
nameCell.Value = stu.Name
ageCell := row.AddCell()
ageCell.Value = strconv.Itoa(stu.age)
phoneCell := row.AddCell()
phoneCell.Value = stu.Phone
genderCell := row.AddCell()
genderCell.Value = stu.Gender
mailCell := row.AddCell()
mailCell.Value = stu.Mail
}
err = file.Save(outFile) if err != nil {
fmt.Printf(err.Error())
}
fmt.Println("\n\nexport success")
}
func getStudents()[]Student{
students := make([]Student, 0) for i := 0; i < 10; i++{
stu := Student{}
stu.Name = "name" + strconv.Itoa(i + 1)
stu.Mail = stu.Name + "@chairis.cn"
stu.Phone = "1380013800" + strconv.Itoa(i)
stu.age = 20
stu.Gender = "男"
students = append(students, stu)
} return students
}测试代码:
import( "testing")func TestExport(t *testing.T){
Export()
}导出结果:
导出结果
完
转载请注明出处
Golang 第三方库学习 · xlsx
點擊查看更多內容
1人點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦



