0
点赞
收藏
分享

微信扫一扫

java 使用反射将数据写入Excel

有点d伤 2022-07-12 阅读 78


;
file.createNewFile();
OutputStream os = new FileOutputStream(file);
WritableWorkbook wwb = Workbook.createWorkbook(os);
WritableSheet writableSheet = wwb.createSheet(sheetName, 0);

int rowIndex = 0;
int colIndex = 0;
Iterator iterator = colMap.entrySet().iterator();
List<String> colList = new ArrayList<>();

while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
colList.add(entry.getValue().toString());

WritableFont wf = new WritableFont(WritableFont.createFont("宋体"), 10, WritableFont.BOLD, false);
WritableCellFormat wcf = new WritableCellFormat(wf);
Label label = new Label(colIndex, rowIndex, entry.getKey().toString(), wcf);
writableSheet.addCell(label);
colIndex++;
}

rowIndex++;

for (Object obj :
list) {
colIndex = 0;
for (String str :
colList) {
Field field = obj.getClass().getDeclaredField(str);
field.setAccessible(true);
Label label = new Label(colIndex, rowIndex, field.get(obj).toString());
writableSheet.addCell(label);
colIndex++;
}
rowIndex++;
}

wwb.write();
wwb.close();
os.flush();
os.close();

field.setAccessible(true); 这个设置可以访问到private的值。

Map


举报

相关推荐

0 条评论