可是我代码里用的是YqjgErZzsjZhbExcelEntity.class啊
时间: 2024-03-26 19:42:06 浏览: 37
是的,您可以在 `ExcelExportUtil.exportExcel()` 方法的第二个参数中传入 `YqjgErZzsjZhbExcelEntity.class`,这样就可以将 `YqjgErZzsjZhbExcelEntity` 类中的属性与 Excel 表格中的列一一对应。
因此,在设置 @Excel 注解的 orderNum 属性值时,需要利用反射的方式修改 `YqjgErZzsjZhbExcelEntity` 类中的属性上的 @Excel 注解的 orderNum 属性。这样,当您导出 Excel 表格时,YqjgErZzsjZhbExcelEntity 类中的属性顺序与 @Excel 注解的 orderNum 属性值所指定的顺序一致,Excel 表格中的列也会按照指定的顺序进行导出。
再次给出完整代码如下:
```
// 遍历 YqjgErZzsjZhbExcelEntity 类中的属性,为其 @Excel 注解的 orderNum 属性赋值
Field[] fields = YqjgErZzsjZhbExcelEntity.class.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
Excel excel = field.getAnnotation(Excel.class);
if (excel != null) {
try {
Field orderNumField = excel.getClass().getDeclaredField("orderNum");
orderNumField.setAccessible(true);
String orderNum = String.valueOf(i + 1);
orderNumField.set(excel, orderNum);
} catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
}
}
// 导出 Excel 表格
List<YqjgErZzsjZhbExcelEntity> list = new ArrayList<>();
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("油气加工二大队装置数据综合报","sheet1"), YqjgErZzsjZhbExcelEntity.class, list);
String fileName ="模板信息表导出.xlsx";
FileUtil.downLoadExcel(fileName, response, workbook);
```
这样,您就可以成功为 `YqjgErZzsjZhbExcelEntity` 类中的属性上的 @Excel 注解的 orderNum 属性赋值,并在导出 Excel 表格时按照所赋的值进行导出。
阅读全文