ClosedXML是否支持设置工作表的缩放级别?

时间:2013-11-09 15:36:57

标签: c# excel closedxml

我正在使用closedXML从C#生成Excel文件,我正在尝试查看是否有设置工作表的缩放级别。我在任何文档或谷歌上都找不到这个?

有人知道怎么做吗?

4 个答案:

答案 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)