- Apache POI 教程
- Apache POI - 首页
- Apache POI - 概述
- Apache POI - Java Excel API
- Apache POI - 环境
- Apache POI - 核心类
- Apache POI - 工作簿
- Apache POI - 电子表格
- Apache POI - 单元格
- Apache POI - 字体
- Apache POI - 公式
- Apache POI - 超链接
- Apache POI - 打印区域
- Apache POI - 数据库
- Apache POI 资源
- Apache POI - 问答
- Apache POI - 快速指南
- Apache POI - 有用资源
- Apache POI - 讨论
Apache POI 面试题
尊敬的读者,这些Apache POI 面试题是专门设计的,旨在让您熟悉在Apache POI相关面试中可能遇到的问题类型。根据我的经验,优秀的考官很少会在面试前计划好要问哪些具体问题,通常问题会从该主题的一些基本概念开始,然后根据进一步的讨论和您的回答继续下去。
Apache POI 是一个流行的 API,允许程序员使用 Java 程序创建、修改和显示 MS Office 文件。它是一个由 Apache 软件基金会开发和发布的开源库,用于使用 Java 程序设计或修改 Microsoft Office 文件。它包含用于将用户输入数据或文件解码为 MS Office 文档的类和方法。
Apache POI 的组件
Apache POI 包含用于处理所有 MS Office 的 OLE2 复合文档的类和方法。此 API 的组件列表如下所示。
POIFS (Poor Obfuscation Implementation File System) − 此组件是所有其他 POI 元素的基础因素。它用于显式读取不同的文件。
HSSF (Horrible Spreadsheet Format) − 它用于读取和写入 MS-Excel 文件的 xls 格式。
XSSF (XML Spreadsheet Format) − 它用于 MS-Excel 的 xlsx 文件格式。
HPSF (Horrible Property Set Format) − 它用于提取 MS-Office 文件的属性集。
HWPF (Horrible Word Processor Format) − 它用于读取和写入 MS-Word 的 doc 扩展名文件。
XWPF (XML Word Processor Format) − 它用于读取和写入 MS-Word 的 docx 扩展名文件。
HSLF (Horrible Slide Layout Format) − 它用于读取、创建和编辑 PowerPoint 演示文稿。
HDGF (Horrible DiaGram Format) − 它包含用于 MS-Visio 二进制文件的类和方法。
HPBF (Horrible PuBlisher Format) − 它用于读取和写入 MS-Publisher 文件。
它是 org.apache.poi.hssf.usermodel 包下的一个高级类。它实现了 Workbook 接口,用于 .xls 格式的 Excel 文件。
这是一个用于表示高级和低级 Excel 文件格式的类。它属于 org.apache.xssf.usermodel 包并实现了 Workbook 接口。
这是 org.apache.poi.hssf.usermodel 包下的一个类。它可以创建 Excel 电子表格,并允许格式化表格样式和表格数据。
这是一个表示 Excel 电子表格高级表示的类。它位于 org.apache.poi.hssf.usermodel 包下。
这是 org.apache.poi.xssf.usermodel 包下的一个类。它实现了 Row 接口,因此它可以在电子表格中创建行。
这是 org.apache.poi.xssf.usermodel 包下的一个类。它实现了 Cell 接口。它是电子表格行中单元格的高级表示。
这是 org.apache.poi.xssf.usermodel 包下的一个类。它将提供有关电子表格单元格中内容格式的可能信息。它还提供修改该格式的选项。它实现了 CellStyle 接口。
这是 org.apache.poi.hssf.util 包下的一个类。它提供不同的颜色作为嵌套类。通常这些嵌套类使用它们自己的索引来表示。它实现了 Color 接口。
这是 org.apache.poi.xssf.usermodel 包下的一个类。它实现了 Font 接口,因此它可以处理工作簿中的不同字体。
这是 org.apache.poi.xssf.usermodel 包下的一个类。它实现了 Hyperlink 接口。它用于将超链接设置为电子表格的单元格内容。
这是 org.apache.poi.xssf.usermodel 包下的一个类。它实现了 CreationHelper 接口。它用作公式计算和设置超链接的支持类。
这是 org.apache.poi.xsssf.usermodel 包下的一个类。它实现了 PrintSetup 接口。它用于设置打印页面大小、区域、选项和设置。
以下代码片段用于创建电子表格。
//Create Blank workbook XSSFWorkbook workbook = new XSSFWorkbook(); //Create a blank spreadsheet XSSFSheet spreadsheet = workbook.createSheet("Sheet Name");
以下代码片段用于创建行。
XSSFRow row = spreadsheet.createRow((short)1);
以下代码片段用于创建单元格。
//create new workbook XSSFWorkbook workbook = new XSSFWorkbook(); //create spreadsheet with a name XSSFSheet spreadsheet = workbook.createSheet("new sheet"); //create first row on a created spreadsheet XSSFRow row = spreadsheet.createRow(0); //create first cell on created row XSSFCell cell = row.createCell(0);
单元格类型
单元格类型指定单元格是否可以包含字符串、数值或公式。字符串单元格不能保存数值,数值单元格不能保存字符串。以下是单元格类型、其值和类型语法。
单元格值类型 | 类型语法 |
---|---|
空单元格值 | XSSFCell.CELL_TYPE_BLANK |
布尔单元格值 | XSSFCell.CELL_TYPE_BOOLEAN |
错误单元格值 | XSSFCell.CELL_TYPE_ERROR |
数值单元格值 | XSSFCell.CELL_TYPE_NUMERIC |
字符串单元格值 | XSSFCell.CELL_TYPE_STRING |
XSSFCellStyle 类用于设置单元格样式。以下代码片段可用于将单元格对齐方式设置为“左上”。
XSSFCellStyle style1 = workbook.createCellStyle(); spreadsheet.setColumnWidth(0, 8000); style1.setAlignment(XSSFCellStyle.ALIGN_LEFT); style1.setVerticalAlignment(XSSFCellStyle.VERTICAL_TOP); cell.setCellValue("Top Left"); cell.setCellStyle(style1);
XSSFFont 类用于向单元格添加字体。以下代码片段可用于将单元格的背景颜色设置为“绿色”。
//Create a new font and alter it. XSSFFont font = workbook.createFont(); font.setFontHeightInPoints((short) 30); font.setFontName("IMPACT"); font.setItalic(true); font.setColor(HSSFColor.BRIGHT_GREEN.index); //Set font into style XSSFCellStyle style = workbook.createCellStyle(); style.setFont(font);
XSSFCellStyle 类可用于旋转单元格。以下代码片段可用于将单元格文本对齐方式设置为指定的角度。
//90 degrees XSSFCellStyle myStyle = workbook.createCellStyle(); myStyle.setRotation((short) 90); cell = row.createCell(5); cell.setCellValue("90D angle"); cell.setCellStyle(myStyle);
XSSFCell.CELL_TYPE_FORMULA 可用于将单元格设置为公式单元格。
// Create SUM formula cell.setCellType(XSSFCell.CELL_TYPE_FORMULA); cell.setCellFormula("SUM(C2:C3)" ); cell = row.createCell(3); cell.setCellValue("SUM(C2:C3)");
XSSFCell.CELL_TYPE_FORMULA 可用于将单元格设置为公式单元格。
// Create SUM formula cell.setCellType(XSSFCell.CELL_TYPE_FORMULA); cell.setCellFormula("POWER(C2:C3)" ); cell = row.createCell(3); cell.setCellValue("POWER(C2:C3)");
XSSFCell.CELL_TYPE_FORMULA 可用于将单元格设置为公式单元格。
// Create SUM formula cell.setCellType(XSSFCell.CELL_TYPE_FORMULA); cell.setCellFormula("MAX(C2:C3)" ); cell = row.createCell(3); cell.setCellValue("MAX(C2:C3)");
XSSFCell.CELL_TYPE_FORMULA 可用于将单元格设置为公式单元格。
// Create SUM formula cell.setCellType(XSSFCell.CELL_TYPE_FORMULA); cell.setCellFormula("FACT(C2)" ); cell = row.createCell(3); cell.setCellValue("FACT(C2)");
XSSFCell.CELL_TYPE_FORMULA 可用于将单元格设置为公式单元格。
// Create SUM formula cell.setCellType(XSSFCell.CELL_TYPE_FORMULA); cell.setCellFormula("SQRT(C2)" ); cell = row.createCell(3); cell.setCellValue("SQRT(C2)");
XSSFHyperlink 可用于向单元格添加超链接。
CreationHelper createHelper = workbook.getCreationHelper(); XSSFHyperlink link = (XSSFHyperlink)createHelper.createHyperlink(Hyperlink.LINK_URL); link.setAddress("https://tutorialspoint.com/" ); cell.setHyperlink((XSSFHyperlink) link);
以下代码片段演示了使用 Apache POI 设置 Excel 的可打印区域。
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);
下一步是什么?
此外,您可以回顾一下您以前使用该主题完成的任务,并确保您能够自信地谈论它们。如果您是应届毕业生,面试官不会期望您回答非常复杂的问题,而是您必须使您的基本概念非常牢固。
其次,如果您无法回答一些问题,这实际上并不重要,重要的是,无论您回答了什么,都必须充满信心。所以在面试中要自信。我们在 tutorialspoint 祝您找到一位好面试官,并祝您未来的事业一切顺利。干杯 :-)