【问题标题】:NPOI excel page break get last row numberNPOI excel分页符获取最后一行号
【发布时间】:2019-03-20 14:23:50
【问题描述】:

我在 C# 程序中创建了一个带有 NPOI 的 Excel 工作表,我可以循环到每一行。对于某些行,我定义了HeightInPoints,我可以对所有行执行此操作。

自动分页符不在我想要的行处,所以我必须在代码中执行此操作。如何找出自动中断前的最后一行?

我只使用两种格式来打印 A4 = 14.8 x 21 厘米或字母 = 8.5 x 11 英寸。是否可以确定每个页面高度使用多少点?那么计算分页前的最后一行?

奥蒂莉

【问题讨论】:

    标签: c# excel npoi page-break


    【解决方案1】:

    我在 Excel 2016 中打开了一个空白的 excel 文档并检查了行高(只需单击行的边框,就像拖动它一样)。它显示高度为“14.5 点(29 像素)”。

    然后我转到查看 -> 页面布局,然后出现一个以英寸为比例的网格。现在,我可以看到行高为“0.2 英寸(29 像素)”。

    所以,这是等式:

    1 个默认行 = 0.2 英寸 = 14.5 点 = 29 像素。

    通过换算,1 英寸是 72.5 磅。

    由于您知道以磅为单位设置的每一行的高度 (HeightInPoints),并且您知道 A4 和字母的大小,因此您可以进行数学计算。您可能需要为边框留出一些空间。

    我对具有默认行高的 Letter(11 英寸)进行了数学计算,它达到 55 行,而具有 Letter 大小的 Excel 中的打印预览显示 47 行,因为它为边框留出了空间,所以它可以工作!

    您可以尝试让我们知道它是否有效。

    【讨论】:

    • 感谢 Krishna Chaitanya Muthyala 的回复。因为使用 Spire 将 xlsx 文件从 NPOI 转换为 pdf 文件不起作用,我们决定使用 rdlc-report 并且不再需要 Excel 中的分页符。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    相关资源
    最近更新 更多