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


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);发布于 2020-02-03 13:58:53
C# NPOI实现的文档似乎很差,但我认为您应该有POI methods for print settings
sheet.FitToPage = true;有一个another StackOverflow answer建议上面的设置可能会覆盖以下PrintSetup项:
sheet.PrintSetup.FitHeight = 1;
sheet.PrintSetup.FitWidth = 1;https://stackoverflow.com/questions/59959287
复制相似问题