はじめに
ワークブックの作成やスタイリングを超えて、日常的なスプレッドシートコードの大半はセルの値の読み書き、数式の付与、XLSX と CSV 間のデータ移動に時間を費やしています。Aspose.Cells FOSS for Go は、Workbook と Cells タイプを通じてこれらすべてをカバーします。
このライブラリは Go モジュールとして github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go で提供され、MIT ライセンスの下でリリースされています。go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 を実行して、Go 1.24 以降の任意のプロジェクトにインストールしてください。
この記事では、セルの読み書き、数式、CSV 変換、そしてセルの削除について解説します。
主な機能
ワークブックの作成とセルへの書き込み
NewWorkbook() は、すでに1枚のワークシートが含まれたワークブックを返します。値は Cells().Set(ref, value) で書き込めます:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Item")
ws.Cells().Set("B1", "Category")
ws.Cells().Set("C1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", "Gadgets")
ws.Cells().Set("C2", 12.99)
wb.Save("inventory.xlsx")
セルを読み戻す
Cells().Get(ref) は、参照に対応する *Cell を返し、参照が無効な場合はエラーも返します:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("C2", 12.99)
cell, err := ws.Cells().Get("C2")
if err != nil {
fmt.Printf("Error: %v\n", err)
return
}
fmt.Printf("C2 = %v\n", cell.Value)
シート全体を走査する必要があるときは、Cells().All() を使用してコレクション内のすべての入力済みセルを列挙します。
数式を追加する
Cell.SetFormula はセルに数式文字列を保存します。まず Set でセルを作成し、その後数式を付与します — 数式はライブラリではなく、Excel または LibreOffice が開いたときに評価されます:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("D2", nil)
cell, _ := ws.Cells().Get("D2")
cell.SetFormula("C2*2")
CSV 変換
Workbook.ExportToCSV は指定したワークシートインデックスを任意の区切り文字で CSV ファイルに書き出します。Workbook.ImportFromCSV は CSV ファイルを名前付きワークシートに読み込みます:
wb := cells_foss.NewWorkbook()
if err := wb.ExportToCSV(0, "inventory.csv", ','); err != nil {
fmt.Printf("Error exporting: %v\n", err)
return
}
セルを削除する
Cells().Remove(ref) はセルの値をクリアします:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A2", "Widget A")
if err := ws.Cells().Remove("A2"); err != nil {
fmt.Printf("Error removing cell: %v\n", err)
}
クイックスタート
モジュールをインストールする:
go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26最小限のワークフロー — 小さな値の表を作成し、CSV にエクスポートする:
package main
import (
"fmt"
cells_foss "github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26/aspose/cells_foss"
)
func main() {
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Item")
ws.Cells().Set("B1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", 12.99)
if err := wb.ExportToCSV(0, "inventory.csv", ','); err != nil {
fmt.Printf("Error exporting: %v\n", err)
return
}
fmt.Println("Exported inventory.csv")
}
サポートされているフォーマット
| 形式 | 拡張子 | 読み取り | 書き込み |
|---|---|---|---|
| XLSX | .xlsx | — | ✓ |
| CSV | .csv | ✓ | ✓ |
XLSXワークブックは NewWorkbook でメモリ内に作成され、Workbook.Save で書き出されます。CSVは Workbook.ImportFromCSV と Workbook.ExportToCSV を使用して双方向に操作できます。
オープンソースとライセンス
Aspose.Cells FOSS for Go は MIT ライセンスの下でリリースされています。使用制限はなく、ランタイム料金も登録要件もありません。ソースコードは github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go にあります。
商用利用は MIT ライセンスの条件の下で許可されています。プロジェクトがエンタープライズ向けサポート、拡張フォーマットのカバー、またはクラウド統合を必要とする場合、Aspose.Cells — Enterprise Product Family は別途の商用オファーです。