0

私の問題は次のとおりです。

その人がアプリケーションから印刷したいものをシミュレートするスプレッドシートが提供されています。Excel シートのセルは、データ グリッド ビューのセルにマップされます。ユーザーがデータ グリッドのセルをクリックすると、プログラムが新しいデータを Excel シートのセルに挿入します。

次に、シートを印刷する必要があります。

私の質問は:

1- DB/datagridview データをスプレッドシート フィールドに書き込んでから、コードを介してスプレッドシートを印刷することは可能ですか? 2- それとも、C# でレポートを最初から作成したほうがよいでしょうか?

4

1 に答える 1

1

Excel 相互運用機能を使用できます。プロジェクトへの参照を追加するだけです (com セクション内)。その後、ファイルに書き込むことができます。

using Excel = Microsoft.Office.Interop.Excel;

Excel.Application xlApp; 
Excel.Workbook xlWorkBook; 
Excel.Worksheet xlWorkSheet; 
object misValue = System.Reflection.Missing.Value; 

xlApp = new Excel.ApplicationClass(); 
xlWorkBook = xlApp.Workbooks.Open(_filename, 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); 
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); 

//Attribute a value to a cell
var cell = (Range)xlWorkSheet .Cells[row, column];
cell.Value2 = "Test";

//This should print
xlWorkBook.PrintOut (Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

xlWorkBook.Close(false, misValue, misValue); 
xlApp.Quit(); 
于 2012-04-14T02:21:25.100 に答える