当前位置: 首页 > 科技观察

如何使用 Go 读取和写入 Excel (XLSX) 文件_0

时间:2023-03-18 13:17:27 科技观察

如何使用Go读写Excel(XLSX)文件。支持读取和写入使用MicrosoftExcel?2007及更高版本生成的电子表格文档。支持高兼容性的复杂组件,并提供流式API,用于从包含大量数据的工作表中生成或读取数据。这个库需要Go1.15或更高版本才能工作。可以使用go的内置文档工具或在go.dev和文档参考在线查看完整的API文档。?GitHub。?文档。安装gogetgithub.com/xuri/excelize/v2创建XLSX文件下面是一个创建XLSX文件的简单示例:packagemainimport("fmt""github.com/xuri/excelize/v2")funcmain(){f:=出类拔萃。NewFile()//Createanewsheet.index:=f.NewSheet("Sheet2")//Setvalueoffacell.f.SetCellValue("Sheet2","A2","Helloworld.")f.SetCellValue("Sheet1","B2",100)//Setactivesheetoftheworkbook.f.SetActiveSheet(index)//Savespreadsheetbythegivenpath.iferr:=f.SaveAs("Book1.xlsx");err!=nil{fmt.Println(err)}}读取XLSX文件如下读取XLSX文件所需的代码实现:packagemainimport("fmt""github.com/xuri/excelize/v2")funcmain(){f,err:=excelize.OpenFile("Book1.xlsx")iferr!=nil{fmt..rows,err:=f.GetRows("Sheet1")iferr!=nil{fmt.Println(err)return}for_,row:=rangerows{for_,colCell:=rangerow{fmt.Print(colCell,"\t")}fmt.Println()}}要使用Excelize将图表添加到XLSX文件,只需几行代码即可生成图表并进行管理图表可以从工作表中的数据生成,也可以在工作表中没有任何数据的情况下生成。将图表添加到Excel文档中","A4":"Large","B1":"Apple","C1":"Orange","D1":"Pear"}values:=map[string]int{"B2":2,"C2":3,"D2":3,"B3":5,"C3":2,"D3":4,"B4":6,"C4":7,"D4":8}f:=excelize.NewFile()fork,v:=rangecategories{f.SetCellValue("Sheet1",k,v)}fork,v:=rangevalues{f.SetCellValue("Sheet1",k,v)}iferr:=f.AddChart("Sheet1","E1",`{"type":"col3DClustered","series":[{"name":"Sheet1!$A$2","categories":"Sheet1!$B$1:$D$1","values":"Sheet1!$B$2:$D$2"},{"name":"Sheet1!$A$3","categories":"Sheet1!$B$1:$D$1","values":"Sheet1!$B$3:$D$3"},{"name":"Sheet1!$A$4","categories":"Sheet1!$B$1:$D$1","values":"Sheet1!$B$4:$D$4"}],"title":{"name":"Fruit3DClusteredColumnChart"}}`);err!=nil{fmt.Println(err)return}//Savespreadsheetbythegivenpath.iferr:=f.SaveAs("Book1.xlsx");err!=nil{fmt.Println(err)}}将图片添加到XLSX文件中packagemainimport("fmt"_"image/gif"_"image/jpeg"_"image/png""github.com/xuri/excelize/v2")funcmain(){f,err:=excelize.OpenFile("Book1.xlsx")iferr!=nil{fmt.Println(err)return}//Insertapicture.iferr:=f.AddPicture("Sheet1","A2","image.png","");err!=nil{fmt.Println(err)}//Insertapicturetoworksheetwithscaling.iferr:=f.AddPicture("Sheet1","D2","image.jpg",`{"x_scale":0.5,"y_scale":0.5}`);err!=nil{fmt.Println(err)}//Insertapictureoffsetinthecellwithprintingsupport.iferr:=f.AddPicture("Sheet1","H2","image.gif",`{"x_offset":15,"y_offset":10,"print_obj":true,"lock_aspect_ratio":false,"locked":false}`);err!=nil{fmt.Println(err)}//Savethespreadsheetwiththeoriginpath.iferr=f.Save();err!=nil{fmt.Println(err)}}【翻译请注明原文译者及出处为.com,合作站点转载】