データ処理の需要がますます重要になるにつれて、Excel テーブル内のデータは徐々に日常の仕事や生活に不可欠な部分になってきました。 Golang プログラミング言語には、Excel ファイルを簡単に読み書きできる優れたライブラリもあります。この記事では、Golang バージョンの Excel ファイルの読み書きを段階的に説明します。
Excel ファイルの読み取りおよび書き込み操作を実装するには、サードパーティの Golang ライブラリである go-excelize を使用する必要があります。次のコマンドを実行してライブラリをインストールします。
go get github.com/360EntSecGroup-Skylar/excelize
まず、「test.xlsx」という名前の Excel ファイルを開き、Sheet1 を挿入します。読み取る必要があるテーブルとして。
f, err := excelize.OpenFile("./test.xlsx") if err != nil { fmt.Println(err) return } // 取得 Sheet1 表格中所有的行 rows, err := f.GetRows("Sheet1") if err != nil { fmt.Println(err) return }
GetRows メソッドを使用すると、Sheet1 テーブル内のすべての行を簡単に取得できます。次に、データの各行をループして、各セルの値を出力します。
for i, row := range rows { for j, colCell := range row { fmt.Printf("(%d,%d) %s ", i+1, j+1, colCell) } }
Excel ファイルの読み取りと同様に、まず「write.xlsx」という名前の Excel ファイルを開き、書き込むファイルを選択します。入力したフォームはSheet1です。
f := excelize.NewFile() // 创建一个名为 Sheet1 的表格 sheetIndex := f.NewSheet("Sheet1") // 设置 Sheet1 表格为当前操作表格 f.SetActiveSheet(sheetIndex)
これで、新しい Excel ファイルを作成し、Sheet1 という名前のテーブルを追加しました。次に、必要なデータをテーブルに書き込みます。
// 向 A1 单元格写入内容 f.SetCellValue("Sheet1", "A1", "姓名") f.SetCellValue("Sheet1", "B1", "年龄") f.SetCellValue("Sheet1", "C1", "性别") // 写入数据行 f.SetCellValue("Sheet1", "A2", "张三") f.SetCellValue("Sheet1", "B2", 26) f.SetCellValue("Sheet1", "C2", "男") f.SetCellValue("Sheet1", "A3", "李四") f.SetCellValue("Sheet1", "B3", 28) f.SetCellValue("Sheet1", "C3", "男") f.SetCellValue("Sheet1", "A4", "小花") f.SetCellValue("Sheet1", "B4", 24) f.SetCellValue("Sheet1", "C4", "女")
上記のコードにより、Excel テーブルにデータを正常に書き込むことができました。最後に、データを確実に保持できるようにファイルを保存する必要があります。
err := f.SaveAs("./write.xlsx") if err != nil { fmt.Println(err) }
注: このサンプル コードはデモンストレーションのみを目的としており、ファイルの読み取りと書き込みに使用されるテーブル形式は実際の状況に応じて調整する必要があります。 。
完全なコードは次のとおりです:
package main import ( "fmt" "github.com/360EntSecGroup-Skylar/excelize" ) func main() { // 读取 Excel 文件 f, err := excelize.OpenFile("./test.xlsx") if err != nil { fmt.Println(err) return } // 取得 Sheet1 表格中所有的行 rows, err := f.GetRows("Sheet1") if err != nil { fmt.Println(err) return } // 遍历所有单元格的数据 for i, row := range rows { for j, colCell := range row { fmt.Printf("(%d,%d) %s ", i+1, j+1, colCell) } } // 创建 Excel 文件 f := excelize.NewFile() // 创建一个名为 Sheet1 的表格 sheetIndex := f.NewSheet("Sheet1") // 设置 Sheet1 表格为当前操作表格 f.SetActiveSheet(sheetIndex) // 向 A1 单元格写入内容 f.SetCellValue("Sheet1", "A1", "姓名") f.SetCellValue("Sheet1", "B1", "年龄") f.SetCellValue("Sheet1", "C1", "性别") // 写入数据行 f.SetCellValue("Sheet1", "A2", "张三") f.SetCellValue("Sheet1", "B2", 26) f.SetCellValue("Sheet1", "C2", "男") f.SetCellValue("Sheet1", "A3", "李四") f.SetCellValue("Sheet1", "B3", 28) f.SetCellValue("Sheet1", "C3", "男") f.SetCellValue("Sheet1", "A4", "小花") f.SetCellValue("Sheet1", "B4", 24) f.SetCellValue("Sheet1", "C4", "女") // 保存 Excel 文件 err := f.SaveAs("./write.xlsx") if err != nil { fmt.Println(err) } }
上記のコードのデモを通して、Golang を使用して読み取りと書き込みを実装していることがわかります。 Excel ファイルの操作は非常にシンプルで効率的です。 go-excelize は Golang コミュニティの強力なライブラリであり、Excel ファイルを処理するための多くの関数を提供し、他のライブラリと統合できます。したがって、Golang は Excel ファイルを処理するための非常に良い選択肢の 1 つとなりました。
以上がgolang は Excel の読み書きを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。