作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我成功地通过 Apache POI 生成了一个 Excel 文件。问题是,当我尝试打印时,最后 3 列不在可打印区域内。例如,工作表有 A 到 L 列,但打印时它只适合 A 到列。用户总是在打印前将打印缩放从“无缩放”更改为“在一页上显示所有列”。
如何修改 Excel 文件,使所有列都适合可打印区域,并且用户无需在每次打印时更改缩放比例。
最佳答案
这可以通过组合 Sheet.setFitToPage 来完成和 PrintSetup.setFitWidth和 PrintSetup.setFitHeight
。
例子:
import java.io.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.*;
public class PrintSetupFitWidth {
public static void main(String[] args) throws Exception {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet();
//create at least one cell so print preview is possible
sheet.createRow(0).createCell(0).setCellValue("Cell A1");
//set page setup to fit to one page width but multiple pages height
sheet.setFitToPage(true);
sheet.getPrintSetup().setFitWidth((short)1);
sheet.getPrintSetup().setFitHeight((short)0);
FileOutputStream fileOut = new FileOutputStream("PrintSetupFitWidth.xlsx");
workbook.write(fileOut);
fileOut.close();
workbook.close();
}
}
关于java - 在 Apache POI 中为生成的 Excel 文件设置默认打印比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41847210/
我是一名优秀的程序员,十分优秀!