こんばんは!
マスク不足の解消が待ち遠しい、多肉系エンジニアのほりです。
前回の記事 では LINQPad の基本的な使い方について紹介しました。
LINQPad ではパッケージマネージャである NuGet を使ってサードパーティ製のライブラリも簡単に読み込むことができるので、今回はそれを試してみたいと思います!
おさらい:LINQPadとは?
まずは、前回のおさらいです。
LINQPad は軽量な.NET実行環境(C#/F#/VB) で、以下のような特徴があります。
・データソース(DB、エクセル)に簡単に繋げる
・コンソールアプリ作るよりLINQPadのほうが気軽にためせる
・結果をグラフィカルに確認できる
試してみよう!
今回は題材として外部ライブラリを使用し、エクセルファイルを読み込むことをしてみたいと思います。 F4 キーを押すことでかんたんに外部ファイルの参照を追加することができます。
下記のように 「Add NuGet」 をクリックすると NuGet 上のライブラリを検索して参照を追加できます。
今回は以下のライブラリを追加したいと思います。
・ExcelDataReader
・ExcelDataReader.DataSet
「Add to Query」 をクリックするとダウンロードが始まり、正常終了すると以下のような画面となります。
きちんと ExcelDataReader に対する参照が追加されていそうですね!
テスト用に以下のエクセルファイルを作成してみました。
1行目:数値 ※C1のみ数式「=SUM(A1:B1)」を設定しました。
2行目:日付
3行目:文字列
次に以下のコードを書きました。
エクセルファイルを読み込むというシンプルな処理です。
void Main()
{
using (var stream = File.Open(@"C:\test\test.xlsx", FileMode.Open, FileAccess.Read))
using (var reader = ExcelReaderFactory.CreateReader(stream))
{
var result = reader.AsDataSet();
result.Dump();
}
}
実行してみました。
おお!うまく読み込めていそうですね!!
数式についても計算した結果で読み込めていそうです(´っ・ω・)っ
※ 4-5列目に null の列がみえるのは原因不明(エクセルファイルを触っているときに、触れちゃいけない領域に触れてしまったのだと思われ・・・)笑
まとめ
LINQPadの便利さをご理解いただけましたでしょうか?(2回目)笑
LINQPad ではパッケージマネージャである Nuget を使うことで、サードパーティ製ライブラリを使うことも容易ですので、スニペット作成が捗りますね!
コメント