在java當(dāng)中獲取excel數(shù)據(jù),獲取每一列數(shù)據(jù)、每一行數(shù)據(jù)
在這里例子是將每一行數(shù)據(jù)獲取出來,并帶著表頭數(shù)據(jù)返回。
代碼:
具體實現(xiàn)邏輯在代碼注釋當(dāng)中可以參見。
public static List<Map<String,Object>> test1() throws Exception{
File file = new File("C:/Users/luo_a/Desktop/數(shù)據(jù)測試.xlsx");
if (!file.exists()){
throw new Exception("文件不存在!");
}
InputStream in = new FileInputStream(file);
// 讀取整個Excel
XSSFWorkbook sheets = new XSSFWorkbook(in);
// 獲取第一個表單Sheet
XSSFSheet sheetAt = sheets.getSheetAt(0);
//默認(rèn)第一行為標(biāo)題行,i = 0
XSSFRow titleRow = sheetAt.getRow(0);
List<Map<String,Object>> mapList = new ArrayList<>();
// 循環(huán)獲取每一行數(shù)據(jù)
for (int i = 1; i < sheetAt.getPhysicalNumberOfRows(); i++) {
XSSFRow row = sheetAt.getRow(i);
// 讀取每一列內(nè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;
}
//表頭數(shù)據(jù)
String titleName = titleCell.getStringCellValue();
//單元格內(nèi)容
String valueName = cell.getStringCellValue();
//每一行的數(shù)據(jù)
map.put(titleName,valueName);
}
mapList.add(map);
}
System.out.println(JSON.toJSONString(mapList));
return mapList;
}
excel例子:
代碼執(zhí)行:
??將執(zhí)行結(jié)果格式化一下,更直觀。
文章來源:http://www.zghlxwxcb.cn/news/detail-613105.html
?我們只要能獲取行列數(shù)據(jù),在就可以根據(jù)自己的實際需要去實現(xiàn)自己的代碼。文章來源地址http://www.zghlxwxcb.cn/news/detail-613105.html
到了這里,關(guān)于Java中靈活獲取excel中的數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!