【发布时间】:2020-02-07 16:55:47
【问题描述】:
由于我的 Excel 应用程序中只需要手动分页符,因此我正在尝试删除垂直自动分页符。我的研究提供了很多建议,但不知何故没有真正奏效。我见过像sn-ps这样的代码
sheet.VPageBreaks.Clear()
或者
sheet.VPageBreaks.RemoveAt(int)
但是没有 Clear 或 RemoveAt 方法。我猜这是来自旧版本。我看到有一个Zoom 属性,可以用来在一页上显示所有内容,但这不是我需要的。还有两个属性FitToPagesWide 和FitToPagesTall 与Zoom 属性结合使用。
我尝试的最后一件事是将 PageBreak 属性设置为 sheet.Cells.PageBreak = (int)Excel.XlPageBreak.xlPageBreakManual,但这会导致异常。
无法设置范围类的分页符属性
我没有想法,也没有研究建议。我需要分页符,但我想手动设置它们,而不是由 Excel 自动设置。有人有这方面的经验吗?
我正在使用 C# 和 Office 互操作库,例如 using Excel = Microsoft.Office.Interop.Excel;
编辑
xlsx 是由代码创建的,它不是来自现有文件。我是这样创建的:
Excel.Application app = new Excel.Application();
Excel.Workbook workbook = app.Workbooks.Add("");
Excel.Worksheet sheet = workbook.ActiveSheet;
【问题讨论】:
-
Excel 互操作调用 VBA 宏使用的相同 API。你可以录制一个宏做你想做的事并检查代码。如果您所做的更改未出现在宏中,则可能意味着它们无法通过 VBA 或 Interop 获得
-
@PanagiotisKanavos 如果您将该评论作为答案,我会接受。这有帮助,现在效果很好。谢谢!