こちらのサイトを参考に、一つのデータテーブルについて、ブックへシート出力することは既に達成しています。
記事に記載があったように 当方も 以下のごとくWorksheets.Addメソッドの引数に データテーブル型の変数を指定しています。
C#
1var worksheet = workbook.Worksheets.Add(dt);
現在取り組んでいるアプリケーションは データテーブルが2つあるので、以下いづれかの方法で 双方のデータテーブルの出力を達成したいです。
・各々のデータテーブルを 別シートに分けて出力する
・一つのシートに、二つのデータテーブルを 続けて格納する(行が上書きされるこなく)
【自分が試したこと】
立て続けに workbook.Worksheets.Add(dt); のコーディングを行い、二つのデータセットをブックに出力しようとしたらシート名が重複している というエラーを招きました。
【質問】
記事だけでは 上記2点の方法が 分からなかったので お分かりの方いらっしゃいましたら ご教示をお願いします。
> var dt = new DataTable("Products");
シート名が Products になっているのでしょう。
参考にされているページに
「 DataTable しか渡していない場合は、DataTable の TableName プロパティがシート名 (タブ名) になります。」
と書いてあります。
>二つのデータセットをブックに出力しようとしたらシート名が重複している というエラーを招きました。
このことより、この原因が分かるのではないですか?
というか、記事を理解すれば2つの問題は解決すると思います。
ご見解ありがとうございます。
Zuishinさん、シート名はTableになっていました。
YAmaGNZ 、記事をよく読みなおしました、すみません....
「worksheet.Worksheets.Add メソッドでは DataTable オブジェクトを第一引数にとります。第二引数はワークシート名なります。 上記のように DataTable しか渡していない場合は、DataTable の TableName プロパティがシート名 (タブ名) になります。」
と書いてありますね。
ということは データテーブルの生成側で TableName プロパティを変えてやれば 先にが見える、ということですかね。やってみます!
> シート名はTableになっていました
そう変えたのならそうなりますね。リンク先の記述では Product になっています。
回答1件
あなたの回答
tips
プレビュー