本章介绍如何在电子表格中设置打印区域.通常的打印区域是Excel电子表格中从左上角到右下角.打印区域可根据您的要求定制.这意味着您可以从整个电子表格中打印特定范围的单元格,自定义纸张大小,打开打开网格线的内容等.
以下代码用于设置在电子表格上打印区域.
import java.io.File; import java.io.FileOutputStream; import org.apache.poi.xssf.usermodel.XSSFPrintSetup; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class PrintArea { public static void main(String[] args)throws Exception { XSSFWorkbook workbook = new XSSFWorkbook(); XSSFSheet spreadsheet = workbook.createSheet("Print Area"); //set print area with indexes workbook.setPrintArea( 0, //sheet index 0, //start column 5, //end column 0, //start row 5 //end row ); //set paper size spreadsheet.getPrintSetup().setPaperSize(XSSFPrintSetup.A4_PAPERSIZE); //set display grid lines or not spreadsheet.setDisplayGridlines(true); //set print grid lines or not spreadsheet.setPrintGridlines(true); FileOutputStream out = new FileOutputStream(new File("printarea.xlsx")); workbook.write(out); out.close(); System.out.println("printarea.xlsx written successfully"); } }
我们将上述代码保存为 PrintArea.java .从命令提示符编译并执行它,如下所示.
$javac PrintArea.java $java PrintArea
它将在当前目录中生成名为 printarea.xlsx 的文件,并在命令提示符下显示以下输出.
printarea.xlsx written successfully
在上面的代码中,我们没有添加任何单元格值.因此 printarea.xlsx 是一个空白文件.但您可以在下图中看到打印预览显示带有网格线的打印区域.