Administrator
Administrator
发布于 2025-09-05 / 8 阅读
0
0

excelize

Excel读和写的golang库

下载依赖

go get github.com/xuri/excelize/v2

新建表格

package main

import (
	"fmt"

	"github.com/xuri/excelize/v2"
)

func main() {
	f := excelize.NewFile(excelize.Options{
		MaxCalcIterations: 0,
		Password:          "",
		RawCellValue:      false,
		UnzipSizeLimit:    0,
		UnzipXMLSizeLimit: 0,
		ShortDatePattern:  "",
		LongDatePattern:   "",
		LongTimePattern:   "",
		CultureInfo:       0,
	})
	f.NewSheet("Sheet2")
	f.NewSheet("Sheet3")

	f.SetCellDefault("Sheet1", "A1", "test1")

	f.Close()
	f.SaveAs("1.xlsx")
}

读取表格

二维数组

	f, _ := excelize.OpenFile("2.xlsx", excelize.Options{
		Password: "123",
	})
	defer f.Close()

	rows, _ := f.GetRows("sheet2")
	fmt.Println("行数", len(rows))
	fmt.Println("列数", len(rows[0]))

单元格

	f, _ := excelize.OpenFile("2.xlsx", excelize.Options{
		Password: "123",
	})
	defer f.Close()

	fmt.Println(f.GetCellValue("Sheet2", "A1"))
	f.SetCellDefault("Sheet2", "A2", "new value")

修饰

	f, _ := excelize.OpenFile("2.xlsx", excelize.Options{
		Password: "123",
	})
	defer f.Close()

	f.SetColWidth("Sheet2", "A", "A", 80)
	f.SetRowHeight("Sheet2", 1, 40)

	styleId, _ := f.NewStyle(&excelize.Style{
		Border: nil,
		Fill:   excelize.Fill{},
		Font: &excelize.Font{
			Bold: true,
			Size: 35,
		},
		Alignment:     nil,
		Protection:    nil,
		NumFmt:        0,
		DecimalPlaces: nil,
		CustomNumFmt:  nil,
		NegRed:        false,
	})
	f.SetCellStyle("Sheet2", "A1", "C3", styleId)
	
	f.SaveAs("1.xlsx")


评论