前提・実現したいこと
タイトルの通りC#でExcelファイルを出力して、印刷を行うまでの一通りをプログラムで行いたいと考えています。
現在csvファイルで各個人の帳票ファイルの出力をし、Excelで出力したcsvファイルを開いて印刷をするというプログラムを作成したのですが、仕様の変更により、各個人の帳票ファイルの保存という作業がいらなくなりました。
その仕様変更により、印刷をしたいだけの為にファイルを作成するという処理を省きたいと考えました。
仕様変更により以下のような処理にプログラムを変更したいのですが分からない点がいくつかあるため質問させていただきました。
【変更前】
①保存先、ファイル名の指定をユーザーに問う→②新規ファイル作成or既存ファイルに上書き
①excelでcsvファイルを開く→②excelの機能で印刷
【変更後】
初期設定:上書きしても消えないテンプレート?セルの大きさや枠線を設定したexcelのファイルを用意しておく
①プログラムで用意していたexcelのファイルに上書き保存→②C#でexcelファイルを印刷する処理を行う
このように変更したいのですが初期設定の上書きしても消えないテンプレートのようなものは作れますでしょうか?
ファイル自体は上書きするが、用意しておいたセルサイズや枠線は変わらずあてはめれるみたいな機能を持ったファイルを作りたいです。その場合csvファイルとしてのファイルへの書き込み方の変更点、このように書けばいいなども教えていただきたいです。(参考になるサイトなどでも)
変更前はファイルの指定から始まっていた処理を最初からプリンターの選択、選択が完了したら印刷開始のような処理にしたいです。
長々と説明すみません。自分でも調べたりなどはしているのですが、どのように調べればいいのかもいまいち分からず苦戦しています。ヒントや、参考になるサイトだけでもいいので教えていただけると幸いです。
変更前の処理コード
いらないかもしれませんが一応現在のプログラムです・・・
C#
1private void Button_Click4(object sender, RoutedEventArgs e) 2 { 3 List<List<string>> cells = get.getcell 4 Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); 5 //保存先の初期値(マイドキュメント) 6 dlg.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal); 7 dlg.Title = "保存先のファイルを選択してください"; 8 dlg.Filter = "CSVファイル(*.csv)|*.csv"; 9 if (dlg.ShowDialog() == true) 10 { 11 try 12 { 13 using (var sw = new System.IO.StreamWriter(dlg.FileName, false, System.Text.Encoding.GetEncoding("Shift_JIS"))) 14 { 15 sw.Write("ID,"); 16 sw.Write("氏名,"); 17 sw.Write("生年月日,"); 18 sw.Write("性別,"); 19 sw.Write("入社年月日,,"); 20 sw.Write(data.id + ","); 21 sw.Write(data.name + ","); 22 sw.Write(data.birthday + ","); 23 sw.Write(data.sex + ","); 24 sw.Write(data.nyushabi + ",,"); 25 sw.WriteLine(); 26 sw.Write("趣味,"); 27 sw.Write("年齢,"); 28 sw.WriteLine("特技"); 29 for (int i = 0; i < Count; i++) 30 { 31 for (int j = 0; j < cell[i].Count; j++) 32 { 33 sw.Write(cell[i][j] + ","); 34 } 35 sw.WriteLine(); 36 } 37 MessageBox.Show("保存しました"); 38 } 39 } 40 catch (SystemException ex) 41 { 42 Console.WriteLine(ex.Message); 43 } 44 } 45 } 46 47 48
補足情報(FW/ツールのバージョンなど)
Excel 2019
Visual Studio 2019
回答1件
あなたの回答
tips
プレビュー