我正在使用closedXML从C#生成Excel文件,我正在尝试查看是否有设置工作表的缩放级别。我在任何文档或谷歌上都找不到这个?
有人知道怎么做吗?
答案 0 :(得分:3)
不,ClosedXML不支持设置缩放。 option that johny links to仅用于在打印时缩放页面。
ClosedXML页面上有feature request,但开发人员没有回答。
答案 1 :(得分:1)
现在可以通过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 source code以获得更多信息。
答案 2 :(得分:0)
如前所述,你无法做到,但我找到了解决问题的方法,效果很好:
预先创建一个模板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
是模板文件的路径。
我认为您还可以通过复制现有(空白)工作表而不是创建新工作表来处理可变数量的工作表。如果您需要动态设置缩放级别,可以使用不同的空白模板工作表进行创作。
答案 3 :(得分:0)