feat:自查自评检查导入实现

hangao
wangxy 3 days ago
parent e7ada916a9
commit cd4142ab1e

@ -117,14 +117,11 @@ public class MultiSheetExcelUtil {
}
private void setCellValue(Cell cell, Object value, FieldMeta meta) {
if (value == null) {
cell.setCellValue("");
return;
}
// 处理日期类型
if (value instanceof Date) {
String format = StringUtils.isNotEmpty(meta.getDateFormat())
@ -183,12 +180,18 @@ public class MultiSheetExcelUtil {
private CellStyle createDataStyle(Workbook workbook) {
CellStyle style = workbook.createCellStyle();
// 设置边框
style.setVerticalAlignment(VerticalAlignment.CENTER);
style.setBorderRight(BorderStyle.THIN);
style.setRightBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
style.setBorderLeft(BorderStyle.THIN);
style.setLeftBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
style.setBorderTop(BorderStyle.THIN);
style.setTopBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
style.setBorderBottom(BorderStyle.THIN);
style.setBorderLeft(BorderStyle.THIN);
style.setBorderRight(BorderStyle.THIN);
style.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
// 设置自动换行(可选)
style.setWrapText(true);
//style.setWrapText(true);
return style;
}
@ -207,16 +210,17 @@ public class MultiSheetExcelUtil {
private <T> void fillDataRows(Sheet sheet, List<T> list, List<FieldMeta> fields) {
CellStyle dataStyle = createDataStyle(workbook);
int rowNum = 1;
for (T item : list) {
Row row = sheet.createRow(rowNum++);
for (int i = 0; i < fields.size(); i++) {
FieldMeta meta = fields.get(i);
Cell cell = row.createCell(i);
try {
// 直接通过缓存的Field对象获取值
Object value = meta.getField().get(item);
cell.setCellStyle(dataStyle);
setCellValue(cell, value, meta); // 传递FieldMeta对象
} catch (IllegalAccessException e) {
cell.setCellValue("N/A");
@ -226,26 +230,4 @@ public class MultiSheetExcelUtil {
}
/*private <T> void fillDataRows(Sheet sheet, List<T> list, List<Object[]> fields) {
CellStyle dataStyle = createDataStyle(workbook);
int rowNum = 1;
for (T item : list) {
Row row = sheet.createRow(rowNum++);
for (int i = 0; i < fields.size(); i++) {
Cell cell = row.createCell(i);
Object[] fieldInfo = fields.get(i);
String fieldName = (String) fieldInfo[0];
Object value = getFieldValueByName(fieldName, item);
// 获取Field对象并传递
try {
Field field = item.getClass().getDeclaredField(fieldName);
setCellValue(cell, value, field); // 调用新版方法
} catch (NoSuchFieldException e) {
setCellValue(cell, value, null); // 降级处理
}
cell.setCellStyle(dataStyle);
}
}
}*/
}

Loading…
Cancel
Save