Open2
Golang , Excel (xlsxファイル) 編集

概要
- Go Excel 編集の例です。
[ 公開 2025/07/05 ]
関連
環境
- go version go1.24.4
テストしたコード
package main
import "github.com/xuri/excelize/v2"
func main() {
f := excelize.NewFile()
defer f.Close()
// 新規シート作成&セル書き込み
var shht_name = "Sheet1"
idx, _ := f.NewSheet(shht_name)
f.SetCellValue(shht_name, "A2", "こんにちは")
f.SetCellValue(shht_name, "B2", 123)
f.SetCellValue(shht_name, "A3", "hoge2")
f.SetCellValue(shht_name, "B3", 456)
f.SetActiveSheet(idx)
if err := f.SaveAs("sample.xlsx"); err != nil {
panic(err)
}
}
- import
go get github.com/xuri/excelize/v2
- run
go run .
- excel ファイル出力できました。

既存のxlsxファイルを、編集する。
- 新規ファイル作成でなく、既存ファイル編集です。
- OpenFile で、ファイル開く
- 編集後
- SaveAs で、上書き保存
package main
import (
"fmt"
"log"
"github.com/xuri/excelize/v2"
)
func main() {
var xls_name = "test.xlsx"
f, err := excelize.OpenFile(xls_name)
if err != nil {
fmt.Println(err)
return
}
defer func() {
// Close the spreadsheet.
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
var shht_name = "Sheet1"
f.SetCellValue(shht_name, "A4", "hoge5")
f.SetCellValue(shht_name, "B4", "1012")
if err := f.SaveAs(xls_name); err != nil {
log.Fatal(err)
}
}