go创建读取excel文件

github地址
https://github.com/360EntSecGroup-Skylar/excelize


Excelize 是 Go 语言编写的一个用来操作 Office Excel 文档类库,基于 ECMA-376 Office OpenXML 标准。可以使用它来读取、写入 XLSX 文件。相比较其他的开源类库,Excelize 支持写入原本带有图片(表)的文档,还支持向 Excel 中插入图片,并且在保存后不会丢失图表样式

这里只演示创建和读取操作,插入图片操作github地址上有详细示例

package main

import (
	"fmt"
	"github.com/360EntSecGroup-Skylar/excelize"
)

func main() {
	readExcel()
	createExcel()
}

// 创建excel
func createExcel() {
	f := excelize.NewFile()
	// 创建新表单
	index := f.NewSheet("Sheet2")
	// 设置 value of cell(单元格)
	f.SetCellValue("Sheet2", "A2", "hello world")
	f.SetCellValue("Sheet1", "B2", 2333)
	// 设置工作簿的活动工作表,也就是打开文件默认是在sheet2
	f.SetActiveSheet(index)
	// 保存文件到给定的路径
	err := f.SaveAs("./book1.xlsx")
	if err != nil {
		fmt.Println(err)
	}
}

// 读取excel
func readExcel() {
	f, err := excelize.OpenFile("./workerinfo.xlsx")
	if err != nil {
		fmt.Println(err)
		return
	}

	// 从指定的 cell(单元格) 获取数据
	cell := f.GetCellValue("Sheet1", "B2")
	fmt.Println(cell)

	// 获取 Sheet1 中所有数据
	// rows: 所有行数
	rows := f.GetRows("Sheet1")
	for _, row := range rows {
		// 一行一行打印出来
		str := ""
		for _, cellVal := range row {
			str += cellVal + "--"
		}
		fmt.Println(str)
	}
}

go创建读取excel文件_第1张图片

go创建读取excel文件_第2张图片

运行后生成的excel文件,打开来默认在 sheet2 ,sheet1数据也正确

go创建读取excel文件_第3张图片

workerinfo的数据如上,运行打印如下,也正确

1
工号--姓名--性别--部门----发工资日期--工资--
20180506001--1----网络部--job1--20200202--2333--
20180506002--2----人事部--job2--20200202--3333--
20180506003--3----设计部--job3--20200202--4333--
20180506004--4----销售部--job4--20200202--5333--
20180506005--5----网络部--job5--20200202--6333--
20180506006--6----人事部--job6--20200202--7333--
20180506007--7----设计部--job1--20200202--8333--
20180506008--8----销售部--job8--20200202--9333--

你可能感兴趣的:(golang)