Skip to content

Instantly share code, notes, and snippets.

@kujirahand
Created September 17, 2024 07:03
Show Gist options
  • Save kujirahand/22f4eee3d61a5988dd1ba04c794dfcb7 to your computer and use it in GitHub Desktop.
Save kujirahand/22f4eee3d61a5988dd1ba04c794dfcb7 to your computer and use it in GitHub Desktop.
Go言語でExcelの書き込みと読み込みを行うサンプル
package main
import (
"fmt"
"log"
"github.com/xuri/excelize/v2"
)
func main() {
writeFile("test.xlsx")
readFile("test.xlsx")
}
// ファイルに書き込みを行う関数
func writeFile(fileName string) {
// 新しいExcelファイルを作成
f := excelize.NewFile()
// シート名を指定してセルにデータを書き込む
sheetName := "Sheet1"
cell := "A1"
value := "洞察力があればすぐに怒ることはない。"
if err := f.SetCellValue(sheetName, cell, value); err != nil {
log.Fatalf("書き込み失敗: %v", err)
}
// ファイル保存
if err := f.SaveAs(fileName); err != nil {
log.Fatalf("ファイルの保存に失敗: %v", err)
}
log.Printf("ファイルを保存しました: %s", fileName)
}
// ファイルを読み込む関数
func readFile(filename string) {
// 既存のExcelファイルを開く
f, err := excelize.OpenFile(filename)
if err != nil {
log.Fatalf("ファイルを開くことができませんでした: %v", err)
}
defer f.Close()
// A1セルの値を取得する
sheetName := "Sheet1"
cell := "A1"
value, err := f.GetCellValue(sheetName, cell)
if err != nil {
log.Fatalf("セルの値を取得できませんでした: %v", err)
}
// 取得したセルの値を表示
fmt.Printf("%sの値: %s\n", cell, value)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment