请问java poi读进来的表格数据如何与map映射,代码是
时间: 2024-02-13 18:02:14 浏览: 28
可以通过 Java POI 读取 Excel 表格数据,然后将其转换为 Map 对象,具体的代码如下:
```java
import java.io.File;
import java.io.FileInputStream;
import java.util.HashMap;
import java.util.Map;
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 ExcelToMapExample {
public static void main(String[] args) {
try {
// 读取 Excel 文件
FileInputStream file = new FileInputStream(new File("data.xlsx"));
Workbook workbook = WorkbookFactory.create(file);
// 读取第一个工作表
Sheet sheet = workbook.getSheetAt(0);
// 定义 Map 对象
Map<String, String> map = new HashMap<>();
// 读取表格数据,并将其转换为 Map 对象
for (Row row : sheet) {
String key = null;
String value = null;
for (Cell cell : row) {
if (cell.getColumnIndex() == 0) {
key = cell.getStringCellValue().trim();
} else if (cell.getColumnIndex() == 1) {
value = cell.getStringCellValue().trim();
}
}
if (key != null && value != null) {
map.put(key, value);
}
}
// 输出 Map 对象
System.out.println(map);
// 关闭文件
file.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在此示例中,我们首先使用 FileInputStream 和 WorkbookFactory 读取 Excel 文件,然后使用 getSheetAt() 方法获取第一个工作表。接着,我们定义了一个 Map 对象,并通过循环遍历表格中的每一行和每一列,将每一行的第一列作为键,第二列作为值,将其存储到 Map 对象中。最后,我们输出了 Map 对象,以检查是否正确映射了表格数据。
需要注意的是,在这个示例中,我们将键和值都定义为 String 类型。如果你的表格中包含其他类型的数据,你需要根据具体情况进行类型转换。