11-23-2018 05:03 AM
Excelで作成したデータをLabVIEWのBlockDiagramで入力したいのですが方法が分かりません.
Excelのデータは、2列あり、一列目が時間を表していて、二列目が時間に対応するデータとなっています.
一列目:t=[0 0.1 0.2....10]
二列目:X(t)=[3 4 5 ...20 ] のようなExcelデータです.
そのデータをLabVIEW上で表現して、グラフとして観測できるようにしたいです.
ご多忙の中、申し訳ないのですが、回答のほどよろしくお願いします.
11-25-2018 06:38 PM
グーグル検索で下記が見つかりました。参考になりますか。
11-28-2018 07:06 AM
単に数値の入った2つの列のデータで、その数値が読み取れれば良いのであれば、xlsのその部分をcsvとして保存し、それをLabVIEWでスプレッドシートファイル読込関数など(デリミタはコンマ)で読み込む方が格段に推奨です。そのまま2次元配列になります。
ActiveXなどを駆使した方法は、自分もllb化しましたが、内部動作は「裏でExcelが起動され、開かれたワークシートの所定のセルから値を取ってくる」ということになっています。ワークシートの文字の色とかセルサイズとかが必要な場合とか、複雑な構造でxls,xlsxで・・、といった場合を除いては、通常はcsvから読む方が速く簡便です。
01-25-2019 02:14 AM
スプレッドシートからのcsvファイル読み込みの方法を詳しく教えていただいてもよろしいでしょうか??
01-28-2019 06:47 AM
添付の絵のような感じです。
csv全体が数値だけで、単精度(桁数6桁程度)で読めればいい場合は、関数一発です。スプレッドシートファイル読み込みでデリミタ(区切り文字)をコンマにしてやるだけです。
倍精度などで読みたい場合は一旦ファイルを読んで文字列のかたまり(二次元配列)に分けてから倍精度に変換します。
タイトル行など余計な行・部分がある場合は、文字列の二次元配列から必要なところだけ取り出して倍精度に変換します。
当方のLabVIEWはバージョンが古いためアイコンの見た目はちょっと違うかも知れませんが。
02-01-2019 08:17 PM
自分もM.Shiraishi様のおっしゃるCSV形式で読み取る方法がベストだと思いますが、xlsxファイル形式でデータが単純であることやExcelがインストールされている環境で一瞬起動しても問題ないということでしたら、レポート生成関数を応用することもできます。
Excelファイルのデータ構造によっては、この方法が使えなかったり、データを取り出すまでにもう少し複雑になりますのでご検討いただけると幸いです。