SpringBoot+AngularJS导出数据库数据到excel
由于本项目是使用Spring Boot+AngularJs的开发模式,以Excel的形式导出数据
首先是angularJs的代码:
/*** 导出excel模板*/$scope.exportExcelModule = function(){if($scope.systemId != null && $scope.systemId != undefined && $scope.systemId != ""){var param1 = {};param1.id = $scope.systemId;commonService.search("dataAndExcel/exportSystemModuleById.do", param1, function(returnValue) {if(returnValue.data.returnCode == 1) {location.href=returnValue.data.data;}});}else{$scope.showFlag = false;$('#myModal').show();}}
commonService.js
var commonServices = angular.module("CommonService",[]);commonServices.factory('commonService', ['$http','$state',function($http,$state) {return {/** 根据查询条件检索操作*/search:function(url,param,callBack){$http({url: baseUrl+url,method: 'get',params: param}).then(function(data) {if(data.data.returnCode == 2){$state.go("login");}else{callBack(data);}},function(data){$state.go("error"); });}}
}]);
后台代码:
package com.bjb.controller;import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.bjb.common.ReturnJsonObject;
import com.bjb.dao.BdmsApplicationDao;
import com.bjb.dao.BdmsMetadataClassDao;
import com.bjb.entity.BdmsApplication;
import com.bjb.entity.BdmsMetadataClass;
import com.bjb.entity.BdmsUser;
import com.bjb.services.DataAndExcelService;
import com.bjb.services.OperationLogService;
import com.bjb.upload.FTPConfigure;
import com.bjb.upload.FTPUtil;
import com.bjb.util.LoginUtil;
import com.bjb.util.OperationLogUtil;@RestController
@RequestMapping("dataAndExcel")
public class DataAndExcelController {@Autowiredprivate FTPConfigure FTPConfigure;//读取配置文件@Value("${fileUrl}")private String fileUrl;@Resourceprivate BdmsApplicationDao bdmsApplicationDao;@Resourceprivate BdmsMetadataClassDao bdmsMetadataClassDao;@Resourceprivate DataAndExcelService dataAndExcelService;@Resourceprivate OperationLogService operationLogService;/*** 根据系统ID导出该系统的模板* @param id* @return* @throws Exception* @author majm* @date 2017年12月4日 下午3:50:16*/@RequestMapping("/exportSystemModuleById")public ReturnJsonObject exportSystemModuleById(Integer id) throws Exception {BdmsApplication application = bdmsApplicationDao.findById(id);String fileName = application.getApplicationName();if(application.getIsMakeModule()==1){return new ReturnJsonObject((Object)application.getMakeModuleUrl());}else{BdmsMetadataClass metadataClass = new BdmsMetadataClass();metadataClass.setSystemId(id);List metadataClassList = bdmsMetadataClassDao.findByDtoPage(metadataClass);ByteArrayOutputStream output = new ByteArrayOutputStream(); String[] headers1 = { "资源地区ID", "资源类型ID", "资源名称", "资源路径", "资源封面路径", "资源编目状态" };String[] headers2 = new String[metadataClassList.size()];for(int i=0;i";
// operationInfo += "新增数据源:"+operationUser.getUserCode()+"
";operationLogService.writeOperationLog(14, "用户【"+operationUser.getUserCode()+"】在【数据管理系统】新增数据源", operationInfo,null,null);/**writeOperationLog(模块类型,操作日志标题,操作日志内容)******end*/return new ReturnJsonObject();}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
