我正在使用closedXML从 C# 生成一个 Excel 文件,我正在尝试查看是否有任何方法可以设置工作表的缩放级别。我在任何文档或谷歌搜索中都找不到这个?
有人知道怎么做这个吗?
现在可以通过IXLSheetView.ZoomScale
属性从 ClosedXML 版本 0.87.0 开始。
using Excel = ClosedXML.Excel;
var wb = new Excel.XLWorkbook();
Excel.IXLWorksheet ws = wb.AddWorksheet("zoom");
Excel.IXLSheetView view = ws.SheetView;
/* Value can be set between 10 and 400 */
view.ZoomScale = 85;
您可以查看IXLSheetView 源代码以获取更多信息。
0.87+ 版更新: https ://stackoverflow.com/a/52755386/2610249
不,ClosedXML 不支持设置缩放。johny 链接到的选项仅用于在打印时缩放页面。
ClosedXML 页面上有一个功能请求,但开发人员没有回答。
如前所述,您不能,但我找到了一种很好的解决方法:
提前创建模板 Excel 文件,将所有工作表的缩放级别设置为您想要的方式。
创建工作簿时,而不是:
public XLWorkbook CreateWorkbook()
{
XLWorkbook workbook = new XLWorkbook();
IXLWorksheet worksheet = workbook.AddWorksheet("First sheet");
// ...
return workbook;
}
做这个:
public XLWorkbook CreateWorkbookWithZoom()
{
XLWorkbook workbook = new XLWorkbook(@"C:\your template file.xlsx");
IXLWorksheet worksheet = workbook.Worksheet(1);
worksheet.Name = "First sheet";
// ...
return workbook;
}
C:\your template file.xlsx
模板文件的路径在哪里。
我认为您还可以通过复制现有(空白)工作表而不是创建新工作表来处理可变数量的工作表。如果您需要动态设置缩放级别,您可以通过选择不同的空白模板工作表来获得创意。