データをスプレッドシートファイルにストリームする
- 更新日2025-08-27
- 5分で読める
スプレッドシートファイルへの複数書き込み操作が必要な場合は、ディスクストリーミングを使用します。ディスクストリーミングを使用することで、関数がファイルの開閉時にオペレーティングシステムと対話する回数が減り、メモリリソースを節約できます。データをスプレッドシート文字列にフォーマットし、その文字列をファイルに書き込み中に、ディスクストリーミングを使用することができます。
使用するオブジェクト
以下のブロックダイアグラムオブジェクトを使用して、データをフォーマットしてファイルにストリームします。
解決方法
以下のブロックダイアグラムを作成して、異なるデータタイプのデータをスプレッドシート文字列にフォーマットし、その文字列をファイルにストリームします。
独自のプログラミング目的に応じて、灰色のセクションをカスタマイズします。
以下のリストには、前のダイアグラムについての重要な情報が記載されています。
| 典型的なディスクストリーミング操作を作成するには、Whileループの外側に「ファイルを開く/作成/置換」関数と「ファイルを閉じる」関数を配置します。 |
| Whileループを使用することで、VIは反復ごとにファイルを開閉するオーバーヘッドなしで、連続的にデータをフォーマットしてファイルに書き込むことができます。シフトレジスタを使用して、前回の反復から次の反復へ値を渡します。 |
| Whileループの外にある入力パラメータを「文字列にフォーマット」関数の入力1..n入力に配線します。復帰改行定数、タブ定数などのデリミタを、入力データを切り離す入力パラメータとして配線できます。形式指定子を使用して、入力パラメータをスプレッドシート文字列としてフォーマットする形式文字列入力を指定します。 |
| メモ 文字列にフォーマット」関数および「テキストファイルに書き込む」関数の代わりに「ファイルにフォーマット」関数を使用して、データをテキストにフォーマットし、そのテキストをファイルに書き込むこともできます。 |
| 「テキストファイルに書き込む」関数は、スプレッドシート文字列をファイルに書き込みます。 |
シフトレジスタを使用することで、データをバッファし、ディスクストリーミングのパフォーマンスを向上することができます。最初に、シフトレジスタをデータのバッファで初期化します。次に、バッファへデータを書き込みます。バッファが一杯になると、バッファをディスクに書き込みます。
サンプル
ストリーミングデータをスプレッドシートファイルに書き込むサンプルについては、labview\examples\File IO\Spreadsheet\Tab-Delimited DataディレクトリのTab-Delimited Dataプロジェクトを参照してください。このサンプルでは、1つのデータタイプのデータをスプレッドシート文字列に変換してその文字列をファイルに書き込む「配列からスプレッドシート文字列に変換」関数を使用しています。
ストリーミングデータをスプレッドシートファイルにストリームする場合にデータバッファのサンプルについては、labview\examples\File IO\Spreadsheet\Tab-Delimited Dataディレクトリの「タブ区切りテキストファイルへバッファ付きでストリーム」VIを参照してください。