java解析excel表格得到了sheet对象如何解析这个对象里面的数据排除第一行和第二行的表头数据并且把每一行的数据当成一个对象最终成为一个list集合
要解析Excel表格并得到Sheet对象,可以使用Apache POI库。具体步骤如下:
- 导入相关的POI库:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
- 创建一个工作簿对象,并加载Excel文件:
Workbook workbook = new XSSFWorkbook(new FileInputStream("path/to/your/excel/file.xlsx"));
这里假设Excel文件的扩展名为.xlsx,如果是.xls文件,则使用HSSFWorkbook类。
- 获取Sheet对象:
Sheet sheet = workbook.getSheetAt(0); // 假设要解析第一个Sheet
- 创建一个List集合来保存每一行的数据对象:
List<Object> dataList = new ArrayList<>();
- 遍历Sheet中的每一行,从第三行开始解析数据(排除第一行和第二行的表头数据):
for (int i = 2; i <= sheet.getLastRowNum(); i++) {
Row row = sheet.getRow(i);
// 解析每一行的数据并创建一个对象
Object dataObject = parseRowData(row);
dataList.add(dataObject);
}
这里假设数据对象的类型为Object,你可以根据实际情况来定义数据对象的类型和解析方法parseRowData()。
完整的示例代码如下:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class ExcelParser {
public static void main(String[] args) {
try {
Workbook workbook = new XSSFWorkbook(new FileInputStream("path/to/your/excel/file.xlsx"));
Sheet sheet = workbook.getSheetAt(0); // 假设要解析第一个Sheet
List<Object> dataList = new ArrayList<>();
for (int i = 2; i <= sheet.getLastRowNum(); i++) {
Row row = sheet.getRow(i);
// 解析每一行的数据并创建一个对象
Object dataObject = parseRowData(row);
dataList.add(dataObject);
}
// 打印解析结果
for (Object data : dataList) {
System.out.println(data);
}
workbook.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private static Object parseRowData(Row row) {
// 解析每一列的数据并创建一个对象
// 这里假设每一行的数据是一个字符串数组,你可以根据实际情况来定义数据对象的类型和解析方法
List<String> rowData = new ArrayList<>();
for (int i = 0; i < row.getLastCellNum(); i++) {
Cell cell = row.getCell(i);
rowData.add(cell.getStringCellValue());
}
return rowData;
}
}
这样就可以解析Excel表格,排除第一行和第二行的表头数据,并将每一行数据作为一个对象添加到List集合中
原文地址: http://www.cveoy.top/t/topic/iqq4 著作权归作者所有。请勿转载和采集!