C# 设置excel打印页面Margins的默认值为Narrow
时间: 2024-03-17 11:41:51 浏览: 91
你可以使用`Excel`对象模型中的`PageSetup`属性来设置打印页面的边距,然后将其应用于所有工作表。以下是一个示例代码,将页面边距设置为“窄”:
```csharp
using Excel = Microsoft.Office.Interop.Excel;
// ...
// 创建Excel应用程序对象
Excel.Application excelApp = new Excel.Application();
// 打开工作簿
Excel.Workbook workbook = excelApp.Workbooks.Open("Workbook1.xlsx");
// 设置页面边距
Excel.PageSetup pageSetup = workbook.ActiveSheet.PageSetup;
pageSetup.LeftMargin = excelApp.InchesToPoints(0.25);
pageSetup.RightMargin = excelApp.InchesToPoints(0.25);
pageSetup.TopMargin = excelApp.InchesToPoints(0.75);
pageSetup.BottomMargin = excelApp.InchesToPoints(0.75);
// 设置页面方向为横向
pageSetup.Orientation = Excel.XlPageOrientation.xlLandscape;
// 设置纸张尺寸为A4
pageSetup.PaperSize = Excel.XlPaperSize.xlPaperA4;
// 应用设置到所有工作表
foreach (Excel.Worksheet worksheet in workbook.Worksheets)
{
worksheet.PageSetup.LeftMargin = pageSetup.LeftMargin;
worksheet.PageSetup.RightMargin = pageSetup.RightMargin;
worksheet.PageSetup.TopMargin = pageSetup.TopMargin;
worksheet.PageSetup.BottomMargin = pageSetup.BottomMargin;
worksheet.PageSetup.Orientation = pageSetup.Orientation;
worksheet.PageSetup.PaperSize = pageSetup.PaperSize;
worksheet.PageSetup.Zoom = false;
worksheet.PageSetup.PrintArea = worksheet.UsedRange;
}
// 关闭工作簿和Excel应用程序对象
workbook.Close(true);
excelApp.Quit();
```
在上面的示例代码中,我们使用`PageSetup`属性设置了页面边距、页面方向和纸张尺寸。然后,我们使用`foreach`循环将这些设置应用于所有工作表。注意,我们还将`Zoom`属性设置为`false`,以确保打印时不缩放工作表,以及将`PrintArea`属性设置为工作表的使用范围,以确保打印的内容不会超出工作表的范围。
阅读全文