首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel工作表在尝试导出时被切断

Excel工作表在尝试导出时被切断
EN

Stack Overflow用户
提问于 2020-01-29 09:09:28
回答 1查看 69关注 0票数 0

使用c#,npoi

基本上,我使用npoi来创建数据并将其导出到excel表格中,但我愿意使用npoi以外的其他方法来修复它。数据仍按预期导出,但当我尝试使用excel打印时,工作表如下所示。我想直接在代码中修复它,那么出了什么问题呢?

代码语言:javascript
复制
    dataRow = (HSSFRow)sheet.CreateRow(31);
    dataRow.CreateCell(0).SetCellValue("Name");
    dataRow.GetCell(0).CellStyle = fontmaintoprightbotleft;  
    for (int i = 1; i < 14; i++)                              //this only puts the border on top of the undeclared cells
    {
        dataRow.CreateCell(i).CellStyle = fontmaintoprightbotleft;
    }
    cra = new NPOI.SS.Util.CellRangeAddress(31, 31, 0, 5);
    sheet.AddMergedRegion(cra);
    dataRow.CreateCell(6).SetCellValue("Contact No. (Hp)");
    dataRow.GetCell(6).CellStyle = fontmaintoprightbotleft;
    cra = new NPOI.SS.Util.CellRangeAddress(31, 31, 6, 8);
    sheet.AddMergedRegion(cra);
    dataRow.CreateCell(9).SetCellValue("Relationship");
    dataRow.GetCell(9).CellStyle = fontmaintoprightbotleft;
    cra = new NPOI.SS.Util.CellRangeAddress(31, 31, 9, 13);
    sheet.AddMergedRegion(cra);

    dataRow = (HSSFRow)sheet.CreateRow(32);
    dataRow.CreateCell(0).SetCellValue(EmergNametxt.Text);
    dataRow.GetCell(0).CellStyle = fontmaintoprightbotleft;            //this only puts the border on top of the undeclared cells
    for (int i = 1; i < 14; i++)
    {
        dataRow.CreateCell(i).CellStyle = fontmaintoprightbotleft;
    }
    cra = new NPOI.SS.Util.CellRangeAddress(32, 32, 0, 5);
    sheet.AddMergedRegion(cra);
    dataRow.CreateCell(6).SetCellValue(EmergContactNoTextBox.Text);
    dataRow.GetCell(6).CellStyle = fontmaintoprightbotleft;
    cra = new NPOI.SS.Util.CellRangeAddress(32, 32, 6, 8);
    sheet.AddMergedRegion(cra);
    dataRow.CreateCell(9).SetCellValue(EmergRelationshiptxt.Text);
    dataRow.GetCell(9).CellStyle = fontmaintoprightbotleft;
    cra = new NPOI.SS.Util.CellRangeAddress(32, 32, 9, 13);
    sheet.AddMergedRegion(cra);


    dataRow = (HSSFRow)sheet.CreateRow(33);
    dataRow.CreateCell(0).SetCellValue("Education Profile");
    for (int i = 1; i < 14; i++)
    {
        dataRow.CreateCell(i).CellStyle = fontheader;
    }
    dataRow.GetCell(0).CellStyle = fontheader;
    cra = new NPOI.SS.Util.CellRangeAddress(33, 33, 0, 13);
    sheet.AddMergedRegion(cra);

    dataRow = (HSSFRow)sheet.CreateRow(34);
EN

回答 1

Stack Overflow用户

发布于 2020-02-03 13:58:53

C# NPOI实现的文档似乎很差,但我认为您应该有POI methods for print settings

代码语言:javascript
复制
sheet.FitToPage = true;

有一个another StackOverflow answer建议上面的设置可能会覆盖以下PrintSetup项:

代码语言:javascript
复制
sheet.PrintSetup.FitHeight = 1;
sheet.PrintSetup.FitWidth = 1;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59959287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档