java解析excel中分成三张表
时间: 2023-12-19 16:35:09 浏览: 150
对于Java解析Excel文件并将其分成三张表,你可以使用Apache POI库来处理Excel文件。下面是一个简单的示例代码,演示如何实现这一功能:
```java
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.ss.usermodel.*;
public class ExcelParser {
public static void main(String[] args) {
try {
FileInputStream file = new FileInputStream("path/to/your/excel/file.xlsx");
Workbook workbook = WorkbookFactory.create(file);
// 获取第一个表格
Sheet sheet1 = workbook.getSheetAt(0);
List<List<String>> table1 = parseSheet(sheet1);
// 获取第二个表格
Sheet sheet2 = workbook.getSheetAt(1);
List<List<String>> table2 = parseSheet(sheet2);
// 获取第三个表格
Sheet sheet3 = workbook.getSheetAt(2);
List<List<String>> table3 = parseSheet(sheet3);
// 打印表格内容
System.out.println("Table 1:");
printTable(table1);
System.out.println("Table 2:");
printTable(table2);
System.out.println("Table 3:");
printTable(table3);
workbook.close();
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private static List<List<String>> parseSheet(Sheet sheet) {
List<List<String>> table = new ArrayList<>();
for (Row row : sheet) {
List<String> rowData = new ArrayList<>();
for (Cell cell : row) {
String cellValue = "";
if (cell.getCellType() == CellType.STRING) {
cellValue = cell.getStringCellValue();
} else if (cell.getCellType() == CellType.NUMERIC) {
cellValue = String.valueOf(cell.getNumericCellValue());
}
rowData.add(cellValue);
}
table.add(rowData);
}
return table;
}
private static void printTable(List<List<String>> table) {
for (List<String> row : table) {
for (String cellValue : row) {
System.out.print(cellValue + "\t");
}
System.out.println();
}
}
}
```
上述代码通过Apache POI库解析Excel文件,并将每个表格的内容存储在一个二维列表中。你可以根据需要对表格进行进一步处理,例如存储到数据库或进行其他操作。请确保你已将`"path/to/your/excel/file.xlsx"`替换为你实际的Excel文件路径。
阅读全文