SEの転職活動で使うべきサイト・エージェント 目指せ年収アップ
SEの転職活動で使うべきサイト・エージェント 目指せ年収アップ
東南アジアをバックパッカーしながら転職活動をした記録
東南アジアをバックパッカーしながら転職活動をした記録
7年目で初の転職活動 2カ月で内定獲得した記録
7年目で初の転職活動 2カ月で内定獲得した記録
おすすめのプログラミングスクール めざせ就職・年収アップ!
おすすめのプログラミングスクール めざせ就職・年収アップ!
メンズクリア2年通い放題入会! その後のヒゲ状況(不定期更新)
メンズクリア2年通い放題入会! その後のヒゲ状況(不定期更新)
ブログ開始3年が経った月収が1万超えてた!
ブログ開始3年が経った月収が1万超えてた!
プログラミング独学・スクール・就職(目次)
プログラミング独学・スクール・就職(目次)
previous arrowprevious arrow
next arrownext arrow
 
Shadow
C#/VB.net

C# エクセルをDatatble,Datagridviewに取込み(複数シート)

C#でエクセルをdatatableに取込むことはたまにあると思います。

備忘録として残しておきます。

実際に作ったファイルはこちらからダウンロードできます。

エクセルをDatatbleに取込み、Datagridviewに表示

色々と解説はありますが、それは後にして、コードはこんな感じです。

エクセルを複数シート取込んで、データグリッドビューに表示します。

エクセルを開かずに処理する方法もあります。

C# エクセルを開かずにDatatbleに取込み(Closed XML)エクセルをC#で処理するときにMicrosoft.Office.Interop.Excelを参照追加して処理することが今のところは主流で...

流れは以下の通りです。

①ダイアログでエクセルを選択
②エクセルを開く
③シートごとにdatatableへ格納
④エクセルを閉じる

解説

それぞれ処理4つのポイントを解説します。

①ダイアログでエクセルを選択

20行目からgetExcelPath()というメソッドに飛んでいます。

詳細は以下をご確認ください。

C# ダイアログで選択したファイルパスを取得 ダイアログで選択したファイルのパスを取得するのってどんなやり方だったっけ?となることが私は多いです。 と言うか、覚える気が...

②エクセルを開く

エクセルを開くにはブックやらシートやらと変数を定義しないとダメなようです。

13行目~17行目です。

そして、objWorkBooks.Open(filePath);でエクセルを開いています。

③シートごとにdatatableへ格納

31行目でシートを変数へ格納し、

34行目からの処理でシート枚数分ループさせています。

getDataTableFromExcelメソッド内でシートのデータすべてを取得しています。

SQLのSELECT * [strSheetName] はシートのすべてのデータを取得するという意味です。

※列が1列空いたり、行が1行空白だと、その前までしか取得されません。

④エクセルを閉じる

44行目~58行目でエクセルを閉じて、オブジェクトを開放しています。

これでエクセルを閉じたり、プロセスやメモリを開放することができます。

エクセルを取込んでSQLで更新する方法も紹介しているのでご覧ください。

C# エクセル取込みしてSQLでデータ更新C#などで開発する時にエクセルの一括取込み機能を作るときがあると思います。 いちいち調べて、プログラムを組んでと言うのが面倒なので...

実行結果

3シートがそれぞれデータグリッドビューに表示されました。

C#アプリ開発 メールお知らせアプリ 開発案件の経験は2案件ほどで、ほとんど経験ありません。 そんな私が独学でプログラミングの勉強をしてきました。 そこで...

補足

Microsoft.ACE.OLEDB.12.0

以下が出た場合

‘Microsoft.ACE.OLEDB.12.0’ プロバイダーはローカルのコンピューターに登録されていません。

AccessDatabaseEngine_X64.exeをダウンロードしてインストールしてください。

こちらからダウンロード可能です。

https://www.microsoft.com/ja-jp/download/details.aspx?id=13255

参考サイト:Microsoft.ACE.OLEDB.12.0プロバイダーはローカルコンピュータに登録されていません

原因は32ビットのofficeを動かしているため、64ビットようを使う必要があるからだそうです。

エクセル参照設定

ソリューションに参照設定で「Microsoft Excel XXX Object Library」を追加しておいてください。

参考:Excelの参照設定

ABOUT ME
LooseCarrot
ブログ運営をしているLooseCarrotです。 興味のあることにトライして発信していきます! プロフィール

関連している記事