public static List<List> readExcel(File file, int beginRow, int endRow,
String encoding) {
List<List> list = new ArrayList<List>();
Workbook workbook = null;
try {
WorkbookSettings wbs = new WorkbookSettings();
//
// excel is default ISO-8859-1 encoding
// setEncoding("UTF-8"); utf-8 no support in excel
//
if (encoding == null || encoding.trim().equals("")) {
wbs.setEncoding("ISO-8859-1");
} else {
wbs.setEncoding(encoding);
}
workbook = Workbook.getWorkbook(file, wbs);
Sheet sheet = workbook.getSheet(0);
int columns = sheet.getColumns();
int rows = sheet.getRows();
for (int j = 0; j < rows; j++) {
// 从beginRow开始读取
if (beginRow > 1 && beginRow > (j + 1)) {
continue;
}
// 读取到endRow行为止
if (endRow < (j + 1)) {
break;
}
List<Object> row = new ArrayList<Object>();
String key = "";
for (int i = 0; i < columns; i++) {
key += (getValue(sheet.getCell(i, j)) == null ? ""
: getValue(sheet.getCell(i, j)).toString().trim());
row.add(getValue(sheet.getCell(i, j)));
}
if (!key.trim().equals("")) {
// System.out.println("key--->:"+key);
list.add(row);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (workbook != null) {
workbook.close();
}
}
return list;
}
EXCEL 导入
最新推荐文章于 2024-10-06 14:46:21 发布
本文介绍了一种使用Java实现的从Excel文件中读取指定范围内的数据的方法。该方法通过设定开始行和结束行来控制读取范围,并利用WorkbookSettings进行编码设置以支持不同编码的Excel文件。此外,还展示了如何获取单元格的值并将其存储为List结构。
4414

被折叠的 条评论
为什么被折叠?



