1. 利用 jdk 6 新的 API java.awt.Desktop 列印
以 excel 為例,這個 API 會啟動目前的平台已經登記處理 xls 檔案的程式來列印指定的檔案,sample code 如下:
if ( Desktop.isDesktopSupported() ) {
Desktop desktop=Desktop.getDesktop();
if ( desktop.isSupported(Desktop.Action.PRINT) ) {
desktop.print(excelFile);
}
} else {
System.out.println(“debug: desktop not supported!”);
}
2. 列印 excel 檔案內所有的工作表
利用以上方法列印時,通常只會印出 excel 檔的第一個工作表,如果要印出所有工作表可以利用org.apache.poi.hssf.usermodel.HSSFSheet 的 setSelected method,例如
for(int i=1;i<sheetCount;i++) {
workbook.getSheetAt(i).setSelected(true);
}