Back to Top

プログラムの覚書

VB.NET EPPlusファイルの作成および更新

EPPlusで、Excelファイルの新規作成および、既存ファイルの修正をする方法を記載します。

新規のファイルにブックを作成し保存する

'オブジェクトの作成
Using excel As ExcelPackage = New ExcelPackage()
    'シートを作成
    Dim sheet As ExcelWorksheet = excel.Workbook.Worksheets.Add("MySheet")

    'A1セルに書き込み
    sheet.Cells("A1").Value = "Hello World"

    '保存
    excel.File = New FileInfo("c:\work\Sample01.xlsx")
    excel.Save()
End Using

 

既存のファイルのブックを修正する

'更新するファイル
Dim FLInfo As FileInfo = New FileInfo("c:\work\Sample01.xlsx")

'Excelファイルを開く
Using excel As ExcelPackage = New ExcelPackage(FLInfo)
    'シートを作成
    Dim sheet As ExcelWorksheet = excel.Workbook.Worksheets.Add("MySheet1")

    'A1セルに書き込み
    sheet.Cells("A1").Value = "Hello World"

    '保存
    excel.Save()
End Using

 

Posted in EPPlus | Leave a reply

VB.NET 文字列とバイト配列の変換をする

文字列からバイト配列(Byte())もしくは、バイト配列から文字列への変換について記載します。

変換には、System.Text.Encoding.GetEncodingメソッドを使用します。

バイト型配列から文字列に変換する

Dim str As String

'【Shift JIS から変換する】
str = System.Text.Encoding.GetEncoding(932).GetString(bytesData)
'または
str = System.Text.Encoding.GetEncoding("sjis").GetString(bytesData)

'【JISコード から変換する】
str = System.Text.Encoding.GetEncoding(50220).GetString(bytesData)
'または
str = System.Text.Encoding.GetEncoding("iso-2022-jp").GetString(bytesData)

'【EUCコード から変換する】
str = System.Text.Encoding.GetEncoding(51932).GetString(bytesData)
'または
str = System.Text.Encoding.GetEncoding("euc-jp").GetString(bytesData)

'【UTF-8コード から変換する】
str = System.Text.Encoding.GetEncoding(65001).GetString(bytesData) 
'または
str = System.Text.Encoding.GetEncoding("utf-8").GetString(bytesData)
'または
str = System.Text.Encoding.UTF8.GetString(bytesData)

※Encodingには、同じ変換でも書き方が数通りあります。上記以外にも文字コードはあります。

 

文字列からバイト型配列に変換する

Dim str As String = "文字列です。"
Dim bytesData As Byte()

'【Shift JIS に変換する】
bytesData = System.Text.Encoding.GetEncoding("sjis").GetBytes(str)

'【JISコード に変換する】
bytesData = System.Text.Encoding.GetEncoding("iso-2022-jp").GetBytes(str)

'【EUCコード に変換する】
bytesData = System.Text.Encoding.GetEncoding("euc-jp").GetBytes(str)

'【UTF-8コード に変換する】
bytesData = System.Text.Encoding.UTF8.GetBytes(str)