golang は Excel の読み書きを実装します

王林
リリース: 2023-05-13 10:04:37
オリジナル
3482 人が閲覧しました

データ処理の需要がますます重要になるにつれて、Excel テーブル内のデータは徐々に日常の仕事や生活に不可欠な部分になってきました。 Golang プログラミング言語には、Excel ファイルを簡単に読み書きできる優れたライブラリもあります。この記事では、Golang バージョンの Excel ファイルの読み書きを段階的に説明します。

  1. Excel 処理ライブラリのインストール

Excel ファイルの読み取りおよび書き込み操作を実装するには、サードパーティの Golang ライブラリである go-excelize を使用する必要があります。次のコマンドを実行してライブラリをインストールします。

go get github.com/360EntSecGroup-Skylar/excelize
ログイン後にコピー
  1. Read Excel File

まず、「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)
    }
}
ログイン後にコピー
  1. Excel ファイルの書き込み

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)
}
ログイン後にコピー
  1. 完全なコード

注: このサンプル コードはデモンストレーションのみを目的としており、ファイルの読み取りと書き込みに使用されるテーブル形式は実際の状況に応じて調整する必要があります。 。

完全なコードは次のとおりです:

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)
    }
}
ログイン後にコピー
  1. 概要

上記のコードのデモを通して、Golang を使用して読み取りと書き込みを実装していることがわかります。 Excel ファイルの操作は非常にシンプルで効率的です。 go-excelize は Golang コミュニティの強力なライブラリであり、Excel ファイルを処理するための多くの関数を提供し、他のライブラリと統合できます。したがって、Golang は Excel ファイルを処理するための非常に良い選択肢の 1 つとなりました。

以上がgolang は Excel の読み書きを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート