3

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

有人知道怎么做这个吗?

4

4 回答 4

4

现在可以通过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 源代码以获取更多信息。

于 2018-10-11T08:18:53.183 回答
2

0.87+ 版更新: https ://stackoverflow.com/a/52755386/2610249


不,ClosedXML 不支持设置缩放。johny 链接到的选项仅用于在打印时缩放页面。

ClosedXML 页面上有一个功能请求,但开发人员没有回答。

于 2013-11-11T09:16:15.703 回答
0

对此的拉取请求已记录在https://github.com/ClosedXML/ClosedXML/pull/180

于 2017-02-01T15:42:03.707 回答
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模板文件的路径在哪里。

我认为您还可以通过复制现有(空白)工作表而不是创建新工作表来处理可变数量的工作表。如果您需要动态设置缩放级别,您可以通过选择不同的空白模板工作表来获得创意。

于 2017-01-23T02:02:52.717 回答