< dependency>
< groupId> cn.hutool</ groupId>
< artifactId> hutool-all</ artifactId>
< version> 5.7.20</ version>
</ dependency>
< dependency>
< groupId> org.apache.poi</ groupId>
< artifactId> poi-ooxml</ artifactId>
< version> 4.1.2</ version>
</ dependency>
浏览器写出输出格式
java"> response. setContentType ( "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8" ) ;
String fileName = URLEncoder . encode ( "用户信息" , "UTF-8" ) ;
response. setHeader ( "Content-Disposition" , "attachment;filename=" + fileName + ".xlsx" ) ;
导出接口
java">@GetMapping ( value = "/exportCultivate" )
public void exportCultivate ( HttpServletRequest request, HttpServletResponse response) throws IOException {
List < CultivateInfo > cInfoList = cultivateService. queryAllCultivateInfoListByUser ( ) ;
if ( cInfoList == null ) {
response. getWriter ( ) . write ( "data does not exist" ) ;
}
ExcelWriter writer = ExcelUtil . getWriter ( ) ;
writer. addHeaderAlias ( "cultivateName" , "培训名称" ) ;
writer. addHeaderAlias ( "trainingStatus" , "培训状态" ) ;
writer. addHeaderAlias ( "trainingStartTime" , "培训预计开始时间" ) ;
writer. addHeaderAlias ( "trainingEndTime" , "培训预计结束时间" ) ;
writer. addHeaderAlias ( "trainingLocation" , "培训地点" ) ;
writer. addHeaderAlias ( "trainingTeacher" , "内训师" ) ;
writer. addHeaderAlias ( "teacherDepartment" , "内训师所在部门" ) ;
writer. addHeaderAlias ( "teacherTelephone" , "内训师电话号码" ) ;
writer. addHeaderAlias ( "prelectObject" , "授课对象" ) ;
writer. addHeaderAlias ( "number" , "培训人数" ) ;
writer. addHeaderAlias ( "signIn" , "是否报名培训" ) ;
writer. addHeaderAlias ( "trainingTime" , "培训时长/分钟" ) ;
writer. addHeaderAlias ( "actualStartTime" , "培训实际开始时间" ) ;
writer. addHeaderAlias ( "actualEndTime" , "培训实际结束时间" ) ;
writer. addHeaderAlias ( "trainingSummary" , "培训小结" ) ;
writer. addHeaderAlias ( "trainingScore" , "培训评价成绩" ) ;
writer. setOnlyAlias ( true ) ;
writer. write ( cInfoList, true ) ;
response. setContentType ( "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8" ) ;
String fileName = URLEncoder . encode ( "培训信息" , "UTF-8" ) ;
response. setHeader ( "Content-Disposition" , "attachment;filename=" + fileName + ".xlsx" ) ;
ServletOutputStream out = response. getOutputStream ( ) ;
writer. flush ( out, true ) ;
out. close ( ) ;
writer. close ( ) ;
IoUtil . close ( out) ;