java如何读取、写入Excel文件(将内容转成任意的bean对象)

将StudentInfo.xlsx里的内容读取出来并封装到StudentInfo类的对象中

StudentInfo类的字段分别对应了excel中的列名,合成结果如下

 

利用反射可以很好地实现对任意类的数据封装。实现如下

public class ExcelUtil {
 
	public static <T> List<T> parseFromExcel(String path, Class<T> aimClass) {
		return parseFromExcel(path, 0, aimClass);
	}
 
	@SuppressWarnings("deprecation")
	public static <T> List<T> parseFromExcel(String path, int firstIndex, Class<T> aimClass) {
		List<T> result = new ArrayList<T>();
		try {
			FileInputStream fis = new FileInputStream(path);
			Workbook workbook = WorkbookFactory.create(fis);
            //对excel文档的第一页,即sheet1进行操作
			Sheet sheet = workbook.getSheetAt(0);
			int lastRaw = sheet.getLastRowNum();
			for (int i = firstIndex; i < lastRaw; i++) {
                //第i行
				Row row = sheet.getRow(i);
				T parseObject = aimClass.newInstance();
				Field[] fields = aimClass.getDeclaredFields();
				for (int j = 0; j < fields.length; j++) {
					Field field = fields[j];
					field.setAccessible(true);
					Class<?> type = field.getType();
             
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值