Categorygithub.com/loadoff/excl
modulepackage
0.0.0-20171207172601-c6a9e4c4b4c4
Repository: https://github.com/loadoff/excl.git
Documentation: pkg.go.dev

# README

excl

これはexcelコントロール用のライブラリ

godoc CircleCI go report

Description

基本的にもとのexcelファイルを破壊せずにデータの入力を行うためのライブラリです。 また大量のデータを扱う上でも優位になるように開発を行います。

Usage

既存のExcelファイルを操作

// Excelファイルを読み込み
w, _ := excl.Open("path/to/read.xlsx")
// シートを開く
s, _ := w.OpenSheet("Sheet1")
// 一行目を取得
r := s.GetRow(1)
// 1列目のセルを取得
c := r.GetCell(1)
// セルに10を出力
c.SetNumber("10")
// セルに1を出力
s.GetRow(2).GetCell(1).SetNumber(1)
// セルに1.1を出力
s.GetRow(3).GetCell(1).SetNumber(1.1)
// 2列目のセルにABCDEという文字列を出力
c = r.SetString("ABCDE", 2)
// セルに日付を出力
s.GetRow(4).GetCell(1).SetDate(time.Now())
// セルに数式を出力
s.GetRow(5).GetCell(1).SetFormula("SUM(A2:A3)")
// シートを閉じる
s.Close()
// 保存
w.Save("path/to/new.xlsx")

新規Excelファイルを作成

// 新規Excelファイルを作成
w, _ := excl.Create()
s, _ := w.OpenSheet("Sheet1")
s.Close()
w.Save("path/to/new.xlsx")

セルの書式の設定方法

w, _ := excl.Open("path/to/read.xlsx")
s, _ := w.OpenSheet("Sheet1")
r := s.GetRow(1)
c := r.GetCell(1)
c.SetNumber("10000.00")
// 数値のフォーマットを設定する
c.SetNumFmt("#,##0.0")
// フォントの設定
c.SetFont(excl.Font{Size: 12, Color: "FF00FFFF", Bold: true, Italic: false,Underline: false})
// 背景色の設定
c.SetBackgroundColor("FFFF00FF")
// 罫線の設定
c.SetBorder(excl.Border{
	Left:   &excl.BorderSetting{Style: "thin", Color: "FFFFFF00"},
	Right:  &excl.BorderSetting{Style: "hair"},
	Top:    &excl.BorderSetting{Style: "dashDotDot"},
	Bottom: nil,
})
s.Close()
w.Save("path/to/new.xlsx")

グリッド線の表示非表示

w, _ := excl.Open("path/to/read.xlsx")
s, _ := w.OpenSheet("Sheet1")
// シートのグリッド線を表示
s.ShowGridlines(true)
// シートのグリッド線を非表示
s.ShowGridlines(false)
s.Close()
w.Save("path/to/new.xlsx")

カラム幅の変更

w, _ := excl.Open("path/to/read.xlsx")
s, _ := w.OpenSheet("Sheet1")
// 5番目のカラム幅を1.1に変更
s.SetColWidth(1.1, 5)
s.Close()
w.Save("path/to/new.xlsx")

計算式結果の更新が必要な場合はSetForceFormulaRecalculationを使用する この関数を利用することでExcelを開いた際に結果が自動的に更新される

w, _ := excl.Open("path/to/read.xlsx")
// 何か処理...
w.SetForceFormulaRecalculation(true)
w.Save("path/to/new.xlsx")

シート名変更

w, _ := excl.Open("path/to/read.xlsx")
w.RenameSheet("oldname", "newname")
w.Save("path/to/new.xlsx")

シートの表示非表示切り替え

w, _ := excl.Open("path/to/read.xlsx")
// シートを隠す
w.HideSheet("Sheet1")
// シートを表示する
w.ShowSheet("Sheet1")
w.Save("path/to/new.xlsx")

Install

$ go get github.com/loadoff/excl

Licence

MIT

Author

YuIwasaki

# Functions

ColNumPosition obtain column no from AtoZ column string.
ColStringPosition obtain AtoZ column string from column no.
Create 新しくワークブックを作成する.
IsExistString 配列内に文字列が存在するかを確認する.
NewCell は新しくcellを作成する.
NewExcl は.
NewRow は新しく行を追加する際に使用する.
Open Excelファイルを開く.
OpenContentTypes [Content_Types].xmlファイルを開き構造体に読み込む.
OpenSharedStrings 新しいSharedString構造体を作成する.
OpenStyles styles.xmlファイルを開く.
OpenWorkbookRels open workbook.xml.rels.

# Structs

Border 罫線の設定.
BorderSetting 罫線の設定.
Cell はセル一つ一つに対する構造体.
ContentTypes ContentTypesの情報を保持.
ContentTypesXML [Content_Types].xmlファイルを読み込む.
Font フォントの設定.
Relationships Relationshipsタグの情報.
Row 行の構造体.
SharedStrings 構造体.
Sheet struct for control sheet data.
SheetXML sheet.xml information.
Style セルの書式情報.
Styles スタイルの情報を持った構造体.
Tag タグの情報をすべて保管する.
Workbook はワークブック内の情報を格納する.
WorkbookRels workbook.xml.relの情報をもつ構造体.
WorkbookXML workbook.xmlに記載されている<workbook>タグの中身.