如何使用Java设置电子表格的打印区域?
我们可以在电子表格中设置打印区域。这可以使用Java的Apache POI库来完成。我们使用 POI 库的不同类和方法来设置电子表格的打印区域。通常,它从 Excel 电子表格的左上角到右下角。它可以根据要求定制。我们可以打印整个电子表格中特定范围的单元格、自定义纸张大小、在打开网格线的情况下打印内容等。
创建新工作簿
我们可以使用各种 POI 类创建新的工作簿和电子表格。首先,我们必须创建一个工作簿,然后在该工作簿中创建一个电子表格。在这里,我们使用 XSSFWorkBook 类创建一个名为“workbook”的工作簿对象。然后我们使用 XSSFSheet 类的createSheet()函数创建了一个名为“打印区域”的电子表格。
创建工作簿:
// Create a Work Book
XSSFWorkbook workbook = new XSSFWorkbook();
要在该工作簿中创建电子表格:
// Create spreadsheet named "Print Area"
XSSFSheet spreadsheet = workbook.createSheet("Print Area");
打印区域的设置
现在我们使用setPrintArea()函数设置打印区域。在这个函数中,我们发送五个值。
workbook.setPrintArea(
0, // sheet index
0, // start column
5, // end column
0, // start row
5 // end row
);
我们可以使用setDisplayGridlines()函数在打印区域显示网格线。
// set display grid lines or not
spreadsheet.setDisplayGridlines(true);
要设置纸张大小,我们使用setPaperSize()函数。
// set paper size
spreadsheet.getPrintSetup().setPaperSize(XSSFPrintSetup.A4_PAPERSIZE);
如果我们还想用我们的内容打印网格线,我们可以通过setPrintGridlines()函数完成。
// set print grid lines or not
spreadsheet.setPrintGridlines(true);
下面是问题陈述的实现:
Java
// Java program to set the print area in spreadsheet
import java.io.*;
import org.apache.poi.xssf.usermodel.XSSFPrintSetup;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class GFG {
public static void main(String[] args) throws Exception
{
// Create a Work Book
XSSFWorkbook workbook = new XSSFWorkbook();
// Create spreadsheet named "Print Area"
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 display grid lines or not
spreadsheet.setDisplayGridlines(true);
// Set paper size
spreadsheet.getPrintSetup().setPaperSize(
XSSFPrintSetup.A4_PAPERSIZE);
// Set print grid lines or not
spreadsheet.setPrintGridlines(true);
// Enter file path/name here
FileOutputStream out = new FileOutputStream(
new File("GFGSpreadsheet.xlsx"));
workbook.write(out);
out.close();
System.out.println(
"GFGSpreadsheet.xlsx has been created");
}
}
输出:
After we compile the above program, it will create a ‘GFGSpreadsheet.xlsx’ file
in your computer. Then in this file, a workbook is created and in that workbook
a Spreadsheet named “Print Area” is created.
然后我们选择了我们必须打印的行和列,以及我们应用于打印区域的一些设置。
然后在所有这些都被执行之后,我们得到了代码中提到的以下确认行。
GFGSpreadsheet.xlsx has been created
在我们的代码中,我们没有为单元格设置任何值,因此该文件是一个空白文件。在打印预览选项卡中,我们选择用于打印的单元格将为空。尽管按照我们的代码,我们已经编写了在打印区域显示网格线的代码。
我们的代码的最终输出如下所示: