Excelファイルを生成するアプリケーションがあります。以下の方法で印刷しようとすると、最初のページが印刷されません。
asを介して Excel ファイル名filename
とプリンター設定を渡します。次に、指定されたファイルを開き、ワークブックを開いてシート全体を印刷するために使用します。プリンターとして XPS プリンターを選択すると、出力ファイル名が 2 回取得されます (最初のシートを印刷するときと、他のシートを印刷するとき)。印刷メソッドを変更したときに、出力ファイルへの呼び出しが作成されていませんでした。PrintDialog
printerSettings
Microsoft.Office.Interop.Excel.Application
Microsoft.Office.Interop.Excel.Workbook
wb.Worksheets.PrintOutEx()
wb.Worksheets.PrintOutEx(1,1, ... )
public static void PrintWorksheet(string fileName, PrinterSettings printerSettings )
{
Application excelApp = null;//excel application
Microsoft.Office.Interop.Excel.Workbook wb = null;//workbook
try
{
excelApp = new Microsoft.Office.Interop.Excel.Application();//initialize excel app
wb = excelApp.Workbooks.Open(
fileName,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing); //open workbook
wb.Worksheets.PrintOutEx(1, wb.Worksheets.Count, printerSettings.Copies, false, printerSettings.PrinterName, false, printerSettings.Collate, false, Type.Missing);//calling print method
}
catch(Exception e)
{
string err = e.Message;
}
finally
{
//closing the excel app and workbook
GC.Collect();
GC.WaitForPendingFinalizers();
if (wb != null)
{
Marshal.FinalReleaseComObject(wb.Worksheets);
wb.Close(false, Type.Missing, Type.Missing);
Marshal.FinalReleaseComObject(wb);
}
if (excelApp != null)
{
excelApp.Quit();
Marshal.FinalReleaseComObject(excelApp);
}
}
}
誰でも私を助けることができますか?