我想Excel導入 從第三行開始讀取數據.
java Excel 從第三行開始讀取怎麼設置,感覺是一個坑.我看了,沒有反應.
我設置了:readSheet.createRow(2);//設置java Excel 從第三行開始讀取怎麼設置沒有反應.
但是我換了一個方法.解決了代碼:
List<List<String>> lists1 = new ArrayList<List<String>>();
for (int i = 2; i < lists.size(); i++) {
lists1.add(lists.get(i));
}
我感覺這一個方法導入Excel讀取方便.代碼:
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public BaseResult readExcelList(HttpServletRequest request, MultipartFile file) throws IOException {
InputStream fIn = file.getInputStream();
HSSFWorkbook readWorkBook;
List<List<String>> lists = new ArrayList<List<String>>();
try {
readWorkBook = new HSSFWorkbook(fIn);
Sheet readSheet = readWorkBook.getSheetAt(0);
//readSheet.createRow(2);設置java Excel 從第三行開始讀取怎麼設置
Iterator<Row> rows = readSheet.iterator();
while (rows.hasNext()) {
Row row = rows.next();
List<String> list = new ArrayList<String>();
for (int i = 0; i < row.getLastCellNum(); i++) {
Cell cell = row.getCell(i);
if (cell == null) {
list.add(null);
} else if (HSSFCell.CELL_TYPE_NUMERIC == cell.getCellType()) {
if (HSSFDateUtil.isCellDateFormatted(cell)) {
SimpleDateFormat sf = new SimpleDateFormat();
String date = sf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue()));
list.add(date);
} else {
list.add(Double.toString(cell.getNumericCellValue()));
}
} else if (HSSFCell.CELL_TYPE_STRING == cell.getCellType()) {
list.add(cell.getStringCellValue());
} else {
list.add(cell.toString());
}
}
lists.add(list);
}
} catch (IOException e) {
} finally {
if (fIn != null) {
fIn.close();
}
}
}
你可以直接遍歷;List<List<String>> lists = new ArrayList<List<String>>();
for (List<String> list : lists) {
String string1 = list.get(1);
String string2 = list.get(2);
}
獲取你Excel對應的值,