我有一个要求,即Apache POI生成的文件需要在一个页面设置集上生成一个适合所有列的fie .我已经尝试了一些API的变种,但到目前为止我还没能做到.我也无法真正找到它是否可以完成.
看起来这个setFitToPage(true)功能调整了高度和宽度,而不仅仅是我想要的宽度.使用setFitWidth和setFitHeight喜欢我在各种其他堆栈溢出问题中发现似乎没有任何影响.
这是我到目前为止:
public void setPrintSettings(Sheet sheet) {
sheet.setFitToPage(true); //this will resize both height and width to fit
sheet.getPrintSetup().setLandscape(true);
sheet.getPrintSetup().setFitWidth((short) 1);
sheet.getPrintSetup().setFitHeight((short) 1);
}
Run Code Online (Sandbox Code Playgroud) 根据如何在使用NPOI创建的Excel文档中将列设置为"自动调整大小"?我这样做了:
foreach (DataColumn column in dataTable.Columns)
{
int rowIndex = 0;
foreach (DataRow row in dataTable.Rows)
{
HSSFRow dataRow = sheet.CreateRow(rowIndex);
dataRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString());
rowIndex++;
}
sheet.AutoSizeColumn(column.Ordinal);
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.怎么做对吗?
我通过 Apache POI 成功生成了 Excel 文件。问题是,当我尝试打印它时,最后 3 列不在可打印区域内。例如,工作表具有 A 至 L 列,但打印时仅适合 A 列。用户在打印之前总是将打印缩放比例从“无缩放”更改为“在一页上调整所有列”。
如何修改 Excel 文件,使所有列都适合可打印区域,并且用户无需在每次打印时更改缩放比例。