C#打印特定excel工作表

C#打印特定excel工作表,c#,excel,excel-interop,C#,Excel,Excel Interop,目前,我获得了打印工作簿中所有工作表的代码: MyApp = new Excel.Application(); MyApp.Visible = false; MyBook = MyApp.Workbooks.Open(generatedFile); foreach (Excel.Worksheet ws in MyBook.Worksheets) { Excel.PageSetup ps = (Excel.PageSetup)ws.PageSetup; ws.PageSetu

目前,我获得了打印工作簿中所有工作表的代码:

MyApp = new Excel.Application();
MyApp.Visible = false;

MyBook = MyApp.Workbooks.Open(generatedFile);

foreach (Excel.Worksheet ws in MyBook.Worksheets)
{
    Excel.PageSetup ps = (Excel.PageSetup)ws.PageSetup;
    ws.PageSetup.Orientation = Excel.XlPageOrientation.xlLandscape;
    ws.PageSetup.Order = Excel.XlOrder.xlDownThenOver;
    //ws.PageSetup.FitToPagesWide = 1;
    //ws.PageSetup.FitToPagesTall = 50;
    //ws.PageSetup.Zoom = false;
}
MyBook.Worksheets.PrintOutEx();

MyBook.Close(SaveChanges: true);
MyApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(MyApp);
我的问题是,如何在同一打印作业中仅打印选定的工作表(特定单元格不为空的工作表)


如果我没有错,为n个工作表调用
工作表.PrintOut()
将创建n个打印作业,对吗?

在循环中添加If语句以检查此单元格是否为空,然后继续,否则转到下一个工作表。是,但是,我怎样才能在一个打印作业中打印出所有这些工作簿呢?创建新工作簿并向其中添加正确的工作表,然后将其作为一个打印作业打印。我遇到了一个错误,然后我厌倦了。我再试试看。