首页 新闻 会员 周边

Npoi 设置 excel 分页预览

0
悬赏园豆:10 [已解决问题] 解决于 2024-02-18 13:53

使用Npoi 如何设置excel文件Sheet页的工作簿视图为分页预览。

android_test的主页 android_test | 初学一级 | 园豆:118
提问于:2024-01-24 17:33
< >
分享
最佳答案
0

Free Spire.XLS可以设置分页预览:https://www.e-iceblue.cn/document/add-and-remove-page-break.html

//加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("Sample.xlsx");

//获取工作表
Worksheet sheet = workbook.Worksheets[0];

//插入两个横向分页符
sheet.HPageBreaks.Add(sheet.Range["A7"]);
sheet.HPageBreaks.Add(sheet.Range["A17"]);

//插入一个纵向分页符
sheet.VPageBreaks.Add(sheet.Range["D1"]);

//将视图设置为分页预览模式查看效果
sheet.ViewMode = ViewMode.Preview;

//保存工作薄
workbook.SaveToFile("AddPageBreak.xlsx", FileFormat.Version2010);
收获园豆:5
ms_doudou | 小虾三级 |园豆:1166 | 2024-01-25 09:43
其他回答(1)
0

在使用 NPOI 操作 Excel 文件时,要设置 Sheet 页的工作簿视图为分页预览,你可以使用 NPOI 中的 SheetPrintSetup 对象来完成。以下是一个简单的示例代码,演示如何使用 NPOI 设置 Excel 文件的分页预览:

csharp
Copy code
using System;
using NPOI.HSSF.UserModel; // 如果是xls格式的Excel
using NPOI.SS.UserModel;

class Program
{
static void Main()
{
// 创建一个新的工作簿
IWorkbook workbook = new HSSFWorkbook(); // 或者使用 XSSFWorkbook,取决于你的需求

    // 创建一个 Sheet
    ISheet sheet = workbook.CreateSheet("Sheet1");

    // 设置分页预览
    SetPagePreview(sheet);

    // 保存 Excel 文件
    using (var fileStream = System.IO.File.OpenWrite("output.xls"))
    {
        workbook.Write(fileStream);
    }
}

static void SetPagePreview(ISheet sheet)
{
    // 获取打印设置对象
    IPrintSetup printSetup = sheet.PrintSetup;

    // 设置工作簿视图为分页预览
    printSetup.FitWidth = 1; // 或者使用其他适当的值
    printSetup.FitHeight = 0; // 或者使用其他适当的值

    // 可选:设置打印方向为横向
    sheet.SetMargin(MarginType.LeftMargin, 0.5);
    sheet.SetMargin(MarginType.RightMargin, 0.5);
    sheet.SetMargin(MarginType.TopMargin, 0.5);
    sheet.SetMargin(MarginType.BottomMargin, 0.5);
    sheet.PrintSetup.Landscape = true;
}

}
请注意,上述代码使用了 NPOI 库的 HSSFWorkbook 类,适用于.xls格式的Excel文件。如果你使用的是.xlsx格式的Excel文件,可以使用 XSSFWorkbook 类。在设置分页预览时,设置 FitWidth 和 FitHeight 属性,以及根据需要设置其他打印参数。在示例中,还设置了打印方向为横向,你可以根据实际需求进行调整。

收获园豆:5
Technologyforgood | 园豆:5686 (大侠五级) | 2024-01-24 20:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册