在java当中获取excel数据,获取每一列数据、每一行数据
在这里例子是将每一行数据获取出来,并带着表头数据返回。
代码:
具体实现逻辑在代码注释当中可以参见。
public static List<Map<String,Object>> test1() throws Exception{
File file = new File("C:/Users/luo_a/Desktop/数据测试.xlsx");
if (!file.exists()){
throw new Exception("文件不存在!");
}
InputStream in = new FileInputStream(file);
// 读取整个Excel
XSSFWorkbook sheets = new XSSFWorkbook(in);
// 获取第一个表单Sheet
XSSFSheet sheetAt = sheets.getSheetAt(0);
//默认第一行为标题行,i = 0
XSSFRow titleRow = sheetAt.getRow(0);
List<Map<String,Object>> mapList = new ArrayList<>();
// 循环获取每一行数据
for (int i = 1; i < sheetAt.getPhysicalNumberOfRows(); i++) {
XSSFRow row = sheetAt.getRow(i);
// 读取每一列内容
Map<String,Object> map = new HashMap<>();
for (int index = 0; index < row.getPhysicalNumberOfCells(); index++) {
XSSFCell titleCell = titleRow.getCell(index);
XSSFCell cell = row.getCell(index);
cell.setCellType(CellType.STRING);
if (cell.getStringCellValue().equals("")) {
continue;
}
//表头数据
String titleName = titleCell.getStringCellValue();
//单元格内容
String valueName = cell.getStringCellValue();
//每一行的数据
map.put(titleName,valueName);
}
mapList.add(map);
}
System.out.println(JSON.toJSONString(mapList));
return mapList;
}
excel例子:
代码执行:
将执行结果格式化一下,更直观。
文章来源:https://www.toymoban.com/news/detail-613105.html
我们只要能获取行列数据,在就可以根据自己的实际需要去实现自己的代码。文章来源地址https://www.toymoban.com/news/detail-613105.html
到了这里,关于Java中灵活获取excel中的数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!