自定义生成Excel报表文件还是有很多不尽如意的地方,特别是针对复杂报表头,单元格样式,字体等操作。手写
这些代码不仅费时费力,有时候效果还不太理想。那怎么样才能更方便的对报表样式,报表头进行处理呢?答案是
使用已经准备好的Excel模板,只需要关注模板中的数据即可。
步骤
1. 制作模版文件(模版文件的路径)
2. 导入(加载)模版文件,从而得到一个工作簿
3. 读取工作表
4. 读取行
5. 读取单元格
6. 读取单元格样式
7. 设置单元格内容
8. 其他单元格就可以使用读到的样式了
1.模板样式
2.实体类
@Getter @Setter @NoArgsConstructor @ToString public class EmployeeReportResult { @ExcelAttribute(sort = 0) private String userId; @ExcelAttribute(sort = 1) private String username; private String departmentName; @ExcelAttribute(sort = 2) private String mobile; @ExcelAttribute(sort = 9) private String timeOfEntry; private String companyId; private String sex; /** * 出生日期 */ private String dateOfBirth; /** * 最高学历 */ @ExcelAttribute(sort = 3) private String theHighestDegreeOfEducation; /** * 国家地区 */ @ExcelAttribute(sort = 4) private String nationalArea; /** * 护照号 */ @ExcelAttribute(sort = 5) private String passportNo; /** * 身份证号 */ private String idNumber; /** * 身份证照片-正面 */ private String idCardPhotoPositive; /** * 身份证照片-背面 */ private String idCardPhotoBack; /** * 籍贯 */ @ExcelAttribute(sort = 6) private String nativePlace; /** * 民族 */ private String nation; /** * 英文名 */ private String englishName; /** * 婚姻状况 */ private String maritalStatus; /** * 员工照片 */ private String staffPhoto; /** * 生日 */ @ExcelAttribute(sort = 7) private String birthday; /** * 属相 */ @ExcelAttribute(sort = 8) private String zodiac; /** * 年龄 */ private String age; /** * 星座 */ private String constellation; /** * 血型 */ private String bloodType; /** * 户籍所在地 */ private String domicile; /** * 政治面貌 */ private String politicalOutlook; /** * 入党时间 */ private String timeToJoinTheParty; /** * 存档机构 */ private String archivingOrganization; /** * 子女状态 */