强制Excel将多个工作表打印为一个作业
在某些Excel(2003)工作簿中,当我尝试打印多个工作表时,Excel会将工作表视为单独的打印作业。 这是我一直在写的Excel自动化应用程序,因为它会导致Adobe PDF打印机停止并要求用户input第二个文件名。
看起来这可能与每个页面的指定打印区域有关,尽pipe清除(甚至重置)打印区域没有什么区别。
如何强制Excel将所有选定的工作表打印为单个打印作业? (我正在使用虚拟Adobe PDF打印机)
除此之外,如何在打印之前检测Excel何时将一个或多个选定的选项卡作为单独的打印作业?
我使用C3 / .net3.5自动化Excel 2003,并使用Acrobat 7 Pro安装的Adobe PDF打印机进行打印。
使用PrintOutEx() :
foreach (Excel.Worksheet ws in wb.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; } wb.Worksheets.PrintOutEx();
根据Microsoft的支持,Excel可能会决定为单个打印请求打印多个打印作业。 一个Excel打印作业覆盖一个或多个打印区域。 如果遍历打印区域并调用打印每个打印区域,则重新获得对输出的一些控制。
一旦所有作业都完成,您可以继续将所有作品绑定到一个PDF文件中。 前段时间我用这个方法(用Win2PDF驱动)把Excel转换成PDF格式。
- 错误:<target> .ColumnName和<source> .ColumnName具有冲突的属性:DataType属性不匹配
- .NET VSTO – Excelfunction区选项卡标签为空,但仅限于Excel的第一个实例
- 错误:使用EPPLUS DLL导出到Excel时未定义types“ExcelPackage”
- 添加列以dynamic导出CSV
- EPPlus不保存对工作表的更改
- ASP.NET MVC / C# – 如何转换/创buildExcel(xls)从MVC中的DataTable /列表的格式?
- Excel(Office)和C#
- 如何从VB.Net读取Excel单元格
- 使用VBA和.Net自动化Excel的优点和缺点