北の窓から(芦田っち)

PC関連と私的雑感のブログ。
2015年7月10日、カッコ内に名前を加えました。昔の友だちに気付いてほしくて・・・

VB.Net: Excel 読み込みには OleDbReader より Copy & Paste が高速

2014-07-09 08:19:40 | 北窓舎
Excel ファイルを読み込んで、チャートを作るソフトを開発中。

# 思った機能が実装できなくて、バグ取りの最中に新しい機能を思いついたりして、
  公開はしていますが、まだベータ版的な ver 0.9.xx ・・・(^-^;

昨日までは Excel シートの各行を連続的に読み込んで、データテーブルに格納していました。
今日からは Excel シートの範囲をコピーして、クリップボードからデータテーブルに格納することにしました。
ずいぶん速い動作になりました。

動作(コード)の概要は次のとおり。

1.Excel シートの最終セル(データのある最終セル)を選択し,
  セル A1 から最終セルまでの範囲をコピーする.

2.格納先のデータテーブルに列を作る(列数は、1で選択した最終セルの列番号).

3.行数・列数でループ(二重のループ:外側は行数、内側は列数)

  3.1(行のループ:開始)
    クリップボードを CR/LF コードをデリミターとして行に分割し,
    1行分の配列に格納する.

  3.2(列のループ:開始)
    1行分の配列を TAB コードをデリミタ-として列に分解する.

  3.3 (1行分の処理)
    列に分解したデータをデータテーブルの行(DataRow)に収める.

  3.4 (列のループ:終了・・・行の追加)
    テータテーブルに DataRow を追加する.

  3.5 (行のループ:終了・・・3.1 に戻る)

ソースコードについては、折りを見てご紹介します。

# 上述1~3だけのコードをご紹介しても役に立たないと思います。
  Imports 部分や変数の説明なども必要でしょう。
  汎用的/一般的なソースコードに直さないと分かりにくいでしょう。
  時間のあるときにまとめたいと思っています。
  (すぐ知りたいというお方は北窓舎までメールして下さい)



ここをクリックして、北窓舎のサイトにもお立ち寄りください・・・

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 500% お買い得! NAS (imatio... | トップ | 500% お買い得! NAS (imatio... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

北窓舎」カテゴリの最新記事