8.3 Microsoft Excelファイルを扱う
企業内の活動において、Microsoft Excel(以下、Excel)を用いたデータ管理は広く用いられています。 そのためサービスの画面に表示した一覧データを、Excelファイルとしてダウンロードして何かしらの業務判断を行いたい、あるいは編集後のExcelファイルをシステムに一括登録したいという要望が出てくるのは自然なことでしょう。
そういった要望に対して、ExcelファイルからCSVファイル形式での保存や、CSVファイルをExcelで開くといったことができるため、システムへの入出力はCSVで統一すれば良いのではないか? と思う方も多いかと思います。 一方でCSV保存後のシステムへのアップロードや、CSVファイルをExcelで開く際に数値・文字列の扱いに難があり、予期せぬ落とし穴にハマることも多くあります。 このような場合には、CSVへの変換ステップをはさまず直接Excelファイルを扱えるようにした方が良い場面もあります。
本節では、業務を扱うシステムを開発するときにしばしば登場する、ExcelをGoで扱う方法を説明します。
GoでExcelを操作する場合には、 tealeg/xlsx
や xuri/excelize
が有名です。
ここでは xuri/excelize
を用いて説明します。
8.3.1 Excelファイルに対する書き込み・読み込み
excelizeのAPIは、良くも悪くもとてもシンプルです。シート名、セル位置を Sheet1
、 A1
と直接指定するスタイルで単純に用いるだけであれば迷わず使えます。
package main
import (
"fmt"
"log"
"github.com/xuri/excelize/v2" ...
Get 実用 Go言語 ―システム開発の現場で知っておきたいアドバイス now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.