|
分類:[C# (Windows)]
お世話になります。 よろしくお願いいたします。
現在ListBoxに表示された内容を、Excel保存できるようなプログラムを考えています。ListBoxにはカラムは5つあり、それぞれ文字列を表示しています。表示する文字列の中には00:00.000など、時間表示をしているものがあり、これはExcelの書式設定でSheetを文字列に変更する必要があるのかな?と思っています。
まずは基本的なファイル出力方法なのですが、いまいち理解できていません。ご教授のほどよろしくお願いいたします。 その前に、現在のファイル出力方法はFileStreamを使用しています。これは、既存のファイルを選択した場合、以前の文末に追記していく形式を取りたいために使用しています。(第二パラメータでTrue) この追記していくタイプで、現在SaveFileDialogより選択されたファイルに出力しています。拡張子が.xlsを選択された際は、\tを途中で入れ、セル移動をさせて記述し、保存しています。 一応これでExcelファイルが作成されるのですが、"0.000"などの小数点がついた場合、デフォルトのエクセルの設定ですと小数点以下が省略されてしまいます。(10.123→10)
この時点で何か改良するべき点等がございましたら、ご教授のほどよろしくお願いいたします。
次にExcelファイル出力をさせた場合です。 この場合以下のようなソースコードを考えました。 // Excelを作成 Excel.Application app; app = new Excel.Application(); // 表示する app.Visible = true;
// ワークシートを追加する Excel.Workbook workbook = app.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet); // ワークシートをアクティブにする workbook.Activate(); // シートコレクションを取得 Excel.Sheets sheets = workbook.Sheets; // 一番最後に追加したシートが返却される Object after = sheets[sheets.Count]; Object before = System.Reflection.Missing.Value; Excel.Worksheet sheet = (Excel.Worksheet)sheets[sheets.Count]; sheet.Cells[1, 2] = "名前"; sheet.Cells[1, 3] = "結果";
上記のコードですと、Excelファイルが出力され、文字列も表示されています。しかし、書式設定や、ファイルの保存場所の指定などが分かりません。 サイトでExcel関連を調査したのですが、保存場所に関しての説明はほとんどされていませんでしたので、お知恵をお借りしたいと思います。
長文になってしまい、分かりづらいかも知れませんが、どうかよろしくお願いいたします。
|