Visual Basic.NET EPPlusの使ったExcelファイルへの画像挿入

今回、Excelファイルへの値書込みについて公開しておられる方はいらっしゃいましたが、画像挿入についてはありませんでしたので、私の方法を記述します。
画像挿入についてはC#ならいくつも説明するサイトがありますが、VBでは皆無でしたので。

//Imports System.IO
//Imports OfficeOpenXml
//Imports OfficeOpenXml.Drawing

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim stCurrentDir2 As String = System.Environment.CurrentDirectory
        Dim ExFile As String = stCurrentDir2 + "[Excelファイル名]"

        Dim fi As System.IO.FileInfo = New System.IO.FileInfo("\[Excelファイル名]")
        If fi.Exists = False Then
            File.Delete("[画像ファイル名]")
            MessageBox.Show("ファイルなし")
            Return
        End If
        Dim s As String = Now.ToString("HH:mm:ss")
        Using pkg As New ExcelPackage(fi)
            'シート追加に際してシート名をobj+時刻とする
           Dim sheet1 As ExcelWorksheet = pkg.Workbook.Worksheets.Add("obj" + s)
            '// セルを指定して代入(ExcelVBA同様1から始まる)'
           Dim img As System.Drawing.Image = System.Drawing.Image.FromFile(stCurrentDir2 + "\[画像ファイル名]")
            Dim pic As ExcelPicture = sheet1.Drawings.AddPicture("img", img)
            pic.SetPosition(1, 1)
            pic.SetSize(240, 400)
            Call pkg.Save()  '// 保存。名前を変えて保存はSaveAs()'
           sheet1.Dispose()
            img.Dispose()
            pic.Dispose()
        End Using
        File.Delete("[画像ファイル名]")
        MessageBox.Show("スナップショットを出力しました")
End Sub

 

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント