java 批量读取excel表格内容_通过Java如何批量的获取Excel表中的数据?
时间: 2024-02-24 09:00:21 浏览: 159
你可以使用 Apache POI 库来读取 Excel 表格内容。以下是一个示例代码,可以读取指定文件夹下所有 Excel 文件中的内容:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.ss.usermodel.Cell;
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.ss.usermodel.WorkbookFactory;
public class ExcelReader {
public static void main(String[] args) {
String folderPath = "path/to/folder";
List<List<String>> allData = new ArrayList<>();
try {
File folder = new File(folderPath);
File[] files = folder.listFiles();
for (File file : files) {
if (file.isFile() && file.getName().endsWith(".xlsx")) {
List<List<String>> data = readExcel(file);
allData.addAll(data);
}
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(allData);
}
public static List<List<String>> readExcel(File file) throws IOException {
FileInputStream fis = new FileInputStream(file);
Workbook workbook = WorkbookFactory.create(fis);
Sheet sheet = workbook.getSheetAt(0);
List<List<String>> data = new ArrayList<>();
for (Row row : sheet) {
List<String> rowData = new ArrayList<>();
for (Cell cell : row) {
String value = "";
switch (cell.getCellType()) {
case STRING:
value = cell.getStringCellValue();
break;
case NUMERIC:
value = String.valueOf(cell.getNumericCellValue());
break;
case BOOLEAN:
value = String.valueOf(cell.getBooleanCellValue());
break;
case FORMULA:
value = cell.getCellFormula();
break;
default:
break;
}
rowData.add(value);
}
data.add(rowData);
}
workbook.close();
fis.close();
return data;
}
}
```
在这个例子中,`readExcel` 方法会读取一个 Excel 文件的内容,并返回一个二维字符串数组。`main` 方法会遍历指定文件夹下的所有 Excel 文件,并将它们的内容合并到 `allData` 列表中。注意,这个代码片段并没有对 Excel 文件的格式、内容等做太多的假设,你可能需要添加额外的代码来处理一些特殊情况。
阅读全文