【VB.NET】ClosedXML 基本編

【VB.NET】ClosedXML 基本編

皆さんこんにちは!今晩は!!ロト君です。今回はVisualBasic2019を使ってソフトを作っているので、その備忘録を兼ねて、掲載したいと思います。

1.環境構築

環境構築は下記の様な感じです。

  • Microsoft Visual Studio 2019

上記のソフトをダウンロードするには下記のサイトより行って下さい。

Microsoft Visual Studio 2019 Download Site

2.ClosedXMLのインストール

ClosedXMLをインストールするには、下記のコードをパッケージマネージャーに入力します。

Install-Package ClosedXML -Version 0.94.2

詳しくは下記のサイトを参照して見て下さい。

ClosedXML 0.94.2

3.基本操作

3-1.ワークブックとワークシート

3-1-1.新規ワークブックの作成と保存

Dim workbook = New XLWorkbook 
 
'ワークブックを保存するには最低1つのシートが必要
workbook.AddWorksheet("Sheet 1") 
 
workbook.SaveAs("D:\test\NewWorkbook.xlsx")

3-1-2.既存のワークブックを開く

Dim workbook = New XLWorkbook("D:\test\NewWorkbook.xls") 
 
'ワークブックを追加
workbook.AddWorksheet("New Sheet") 
 
workbook.SaveAs("D:\test\NewWorkbook.xlsx")

3-1-3.ワークシートの追加

Dim ws As IXLWorksheet = workbook.AddWorksheet("Add Worksheet")

3-1-4.既存のワークシートの取得

Dim ws1 As IXLWorksheet = workbook.Worksheet("Sheet 1")
Dim ws2 As IXLWorksheet = workbook.Worksheet(4)

3-2.セルの操作

3-2-1.セルに値を設定

ws.Cell(1, 1).Value = "Hello, world!"
ws.Cell("A2").SetValue("Hello, world!")
ws.Cell("A3").SetValue("Hello, world!").CellBelow.SetValue("Hello, world!").CellRight.SetValue("Hello, world!")

3-2-2.セルに式を設定

cell.FormulaA1 = "=A4*B4"
cell2.FormulaA1 = "=""合計 "" & SUM(A1:A2)"

3-2-3.セルの値の取得

Dim r1 = ws.Cell("C1").Value
Dim r2 = ws.Cell("C2").GetString
Dim r3 = ws.Cell("C3").GetBoolean
Dim r4 = ws.Cell("C4").GetDateTime

3-2-4.セルをアクティブにする

ws.Cell("B2").SetActive

3-2-5.削除・クリア

range.Delete
range.Clear

3-2-6.2つのセルから矩形範囲を取得する

Dim firstDataCell = ws.Cell("B4") 'ws.FirstCellUsed
Dim lastDataCell = ws.LastCellUsed
Dim rngData = ws.Range(firstDataCell.Address, lastDataCell.Address)

3-2-7.セルや範囲を取得・選択する

ws.Cell("B2").Select
ws.Range("D2:E2").Select
ws.Ranges("C3, D4:E5").Select
ws.Range(4, 1, 4, 2).Select

3-2-8.特定の範囲のセルを1つずつ処理する

'指定範囲のセルを1つずつ処理
Dim rng = ws.Range("E4:F6")
For Each cell in rng.Cells
    cell.Value = "Hello"
Next

3-3.セルの書式

3-3-1.セルの前景色(文字色)の変更

cell.Style.Font.FontColor = XLColor.Red

3-3-2.セルの背景色の変更

cell.Style.Fill.BackgroundColor = XLColor.Green

3-3-3.ボールド

cell.Style.Font.Bold = True

3-3-4.フォントサイズ

cell.Style.Font.FontSize = 15

3-3-5.フォント名

cell.Style.Font.FontName = "MS ゴシック"

3-3-6.リッチテキスト

For Each richText In cell.RichText
    If richText.FontColor = XLColor.Red Then
 
    End If
Next

3-3-7.セルのデータ型の変更

cell.DataType = XLCellValues.Text

3-3-8.テキストの表示形式の変更

cell.Style.DateFormat.Format = "yyyy/MM/dd"

↑の、yyyy/MM/ddは、Mは大文字ですね!

3-3-9.罫線

rng.Style.Border.OutsideBorder = XLBorderStyleValues.Double
rng.Style.Border.OutsideBorderColor = XLColor.Brown
rng.Style.Border.InsideBorder = XLBorderStyleValues.Thin
rng.Style.Border.InsideBorderColor = XLColor.Green

3-4.行と列

3-4-1.列幅の設定

'複数の列幅の設定
ws.Columns("A,G,I").Width = 3
 
'コンテンツに合わせて列幅を調整
ws.Style.Font.FontName = "游ゴシック";
ws.Columns.AdjustToContents

3-4-2.行・列の挿入

ws.Column(1).InsertColumnsAfter(1)
ws.Range("B2:B4").InsertRowsAbove(2)

3-4-3.行・列の削除

range.Row(1).Delete
range.Column(1).Delete

4.まとめ

基本インデックスは、『1』からの様です。0ではありません!!

ClosedXMLは、シート操作やセルの操作は出来ますが、シェイプなどの操作は苦手(出来ない?)の様です。

シェイプを使うのであれば、EPPlusがおススメです。ライセンスなどには注意して使って頂けると幸いです。

では、良いExcel操作が出来ますことを願っています。今回は、ここまで!(>ω<)ノシ

パソコンカテゴリの最新記事