Java 解析 Excel 的方法(xls、xlsx 两种格式) Java 解析 Excel 的方法是指使用 Java 语言来读取和操作 Excel 文件的内容。Excel 文件有两种常见的格式:xls 和 xlsx。下面将详细介绍 Java 解析 Excel 的方法。 需要导入必需的 jar 包,包括 commons-collections4-4.1.jar、poi-3.17-beta1.jar、poi-ooxml-3.17-beta1.jar、poi-ooxml-schemas-3.17-beta1.jar 和 xmlbeans-2.6.0.jar。 接下来,需要了解主要的 API: 1. import org.apache.poi.ss.usermodel.Workbook 对应 Excel 文档; 2. import org.apache.poi.hssf.usermodel.HSSFWorkbook 对应 xls 格式的 Excel 文档; 3. import org.apache.poi.xssf.usermodel.XSSFWorkbook 对应 xlsx 格式的 Excel 文档; 4. import org.apache.poi.ss.usermodel.Sheet 对应 Excel 文档中的一个 sheet; 5. import org.apache.poi.ss.usermodel.Row 对应一个 sheet 中的一行; 6. import org.apache.poi.ss.usermodel.Cell 对应一个单元格。 现在,下面是 Java 读取 Excel 文件的代码: ```java package poi; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class Testpoi { public static void main(String[] args) { Workbook wb = null; Sheet sheet = null; Row row = null; List<Map<String, String>> list = null; String cellData = null; String filePath = "D:\\test.xlsx"; String columns[] = {"name", "age", "score"}; wb = readExcel(filePath); if (wb != null) { // 用来存放表中数据 list = new ArrayList<Map<String, String>>(); // 获取第一个 sheet sheet = wb.getSheetAt(0); // 获取最大行数 int rownum = sheet.getPhysicalNumberOfRows(); // 获取第一行 row = sheet.getRow(0); // 获取最大列数 int colnum = row.getPhysicalNumberOfCells(); for (int i = 1; i < rownum; i++) { Map<String, String> map = new LinkedHashMap<String, String>(); row = sheet.getRow(i); if (row != null) { for (int j = 0; j < colnum; j++) { // 获取单元格的值 cellData = getCellStringValue(row.getCell(j)); map.put(columns[j], cellData); } list.add(map); } } } } private static String getCellStringValue(Cell cell) { // TODO Auto-generated method stub return null; } private static Workbook readExcel(String filePath) { Workbook wb = null; try { if (filePath.endsWith(".xls")) { wb = new HSSFWorkbook(new FileInputStream(filePath)); } else if (filePath.endsWith(".xlsx")) { wb = new XSSFWorkbook(new FileInputStream(filePath)); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return wb; } } ``` 在上面的代码中,我们首先读取 Excel 文件,然后获取第一个 sheet,接着获取最大行数和最大列数。然后,我们遍历每一行,获取每个单元格的值,并将其存储在一个 List 中。 需要注意的是,在读取 Excel 文件时,我们需要根据文件的格式选择合适的 Workbook 对象。如果是 xls 格式的文件,我们使用 HSSFWorkbook 对象,如果是 xlsx 格式的文件,我们使用 XSSFWorkbook 对象。 Java 解析 Excel 的方法可以帮助我们快速地读取和操作 Excel 文件的内容。
- 粉丝: 5
- 资源: 981
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助