MultiCAD.NETのテーブルに関する以前の記事では、図面でテーブルをプログラムで作成およびフォーマットすること、さまざまな種類のデータをコンテンツとして使用すること、およびテーブルテンプレートの使用について説明しました。 この記事では、テンプレートの使用に関するストーリーを継続し、APIをさらに詳しく見ていきます。これにより、テーブルをテンプレートとして外部ファイルに保存し、それを図面にロードして典型的なテーブルを作成できます。 記事の後半では、Microsoft Excelとデータを交換するプロセスを検討します。
ソース表
ソーステーブルに、金属プロファイルの特性(名前、グレード、鋼の厚さ、目的)を含めます。その構造は、ガイド、ラックなどのさまざまなタイプのプロファイルを記述するために使用できます。
このようなテーブルを作成する手順については説明しません。前の記事で以前にテーブルを作成および編集する方法について書きました。
テーブルをテンプレートとして保存する
テーブルを別のファイルに保存するには、
McTable.SaveToFile()
メソッドを使用します。 このメソッドを使用すると、次の形式でファイルにテーブルを書き込むことができます。
- テーブルファイル(.dat)、
- タブ区切りテキスト(.txt)
- セミコロン区切りテキスト(.csv)、
- XML
- Microsoft Excelブック(.xls)
- OpenOffice.orgテーブル(.ods)。
テンプレートとして保存するテーブルは、図面で選択できます。 次のコマンドは、選択したテーブルを使用可能な形式のいずれかで保存します。
[CommandMethod("smpl_SaveTable", CommandFlags.NoCheck | CommandFlags.NoPrefix)] public void smpl_SaveTable() { McObjectId idSelected = McObjectManager.SelectObject(" :"); if (idSelected.IsNull) { return; } McTable outObj = McObjectManager.GetObject(idSelected); if (outObj == null) { return; } // SaveToFile() , // . outObj.SaveToFile(); }
ファイルからテーブルをロードする
テーブルは、
McTable.LoadFromFile()
メソッドを使用して外部ファイルから
McTable.LoadFromFile()
れます。
SaveToFile()
同様に、ファイル名は明示的に指定するか、ダイアログから選択できます。 次のダウンロード可能なファイル形式がサポートされています。
- テーブルファイル(.tbl、.dat)、
- テキスト形式(.txt、.csv、.xml)、
- アクセスファイル(.mdb、.accdb)
- Microsoft Excelブック(.xls、.xlsx)、
- OpenOffice.orgテーブル(.ods)、
- StarOfficeテーブル(.sxc)。
次のコマンドは、ユーザーが選択したファイルから図面にテーブルを追加します。
[CommandMethod("smpl_LoadTable", CommandFlags.NoCheck | CommandFlags.NoPrefix)] public void smpl_LoadTable() { McTable Table2 = new McTable(); // LoadFromFile() , // . if (Table2.LoadFromFile()) { Table2.PlaceObject(McEntity.PlaceFlags.Silent); } }
保存したテーブルをテンプレートとして使用して、典型的なテーブルを図面に追加できます。
Microsoft Excelとのデータ交換
MultiCAD.NETには、テーブルをさまざまな形式のファイルに保存するだけでなく、表形式のデータをMicrosoft Excelワークシートに、またはその逆にすばやく転送する機能が含まれています。
ExportToExcel()
メソッドが
ExportToExcel()
、新しいExcelブックが開き、表に設定されたセルの書式設定を維持しながら、すべての表形式データがそれに転送されます。
図面内のテーブルを選択してExcelシートにエクスポートできるコマンドを追加します。
[CommandMethod("smpl_ExportTableToExcel", CommandFlags.NoCheck | CommandFlags.NoPrefix)] public void smpl_ExportTableToExcel() { McObjectId idSelected = McObjectManager.SelectObject(" :"); if (idSelected.IsNull) { return; } McTable outObj = McObjectManager.GetObject(idSelected); if (outObj == null) { return; } outObj.ExportToExcel(); }
MultiCAD.NETでは、開いているExcelワークシートから選択した範囲のテーブルセルをインポートすることもできます。インポートしたExcelワークシートでは、
ImportFromExcel()
関数を呼び出す必要があります。
次のコマンドは、Excelシートから選択した範囲のセルを図面に挿入します。
[CommandMethod("smpl_ImportTableFromExcel", CommandFlags.NoCheck | CommandFlags.NoPrefix)] public void smpl_ImportTableFromExcel() { McTable Table2 = new McTable(); if (Table2.ImportFromExcel()) { Table2.PlaceObject(McEntity.PlaceFlags.Silent); } }
この出版物を使用して、MultiCAD.NET APIでテーブルを操作するための基本的なツールの概要を終了します。 もちろん、これはテーブルベースの機能が提供するすべての機能ではありません。特に現在のところ、拡張と改善の作業が進行中であるためです。
テーブルの操作の特定の側面が十分にカバーされていない場合は、コメントを書いて、今後の記事のトピックを提案してください。
記事に関する議論は、フォーラム( forum.nanocad.ru/index.php?showtopic=6512)でも利用できます。
記事の英語への翻訳: MultiCAD.NETの表。 パート3:外部ファイルからテーブルを保存およびロードする