当前位置: 首页 > news >正文

专题类的网站深圳做app网站制作

专题类的网站,深圳做app网站制作,2022一级造价停考,微官网和微网站有什么区别前端方法:调用exportInfoPid这个方法并传入要查询的id即可,也可以用其他参数看个人需求 function exportInfoPid(id){window.location.href 服务地址"/exportMdsRoutePid/"id; } 后端控制层代码 Controller Scope("prototype") R…

前端方法:调用exportInfoPid这个方法并传入要查询的id即可,也可以用其他参数看个人需求

function exportInfoPid(id){window.location.href = 服务地址+"/exportMdsRoutePid/"+id;
}

后端控制层代码


@Controller
@Scope("prototype")
@RequestMapping("mms/mds/mdsroute/mdsRouteController")
public class MdsRouteController implements LoaderConstant {
@Autowired
private MdsRouteAPI mdsRouteAPI;
@Autowired
private MdsRouteExportExcel mdsRouteExportExcel;/*** 工艺导出** @param pid* @param request* @return* @throws Exception*/@RequestMapping(value = "/operation/exportMdsRoutePid/{pid}")public Boolean exportMdsRoutePid(@PathVariable String pid, HttpServletRequest request,HttpServletResponse response) throws Exception {ModelAndView mav = new ModelAndView();//查询数据MdsRouteDTO mdsRouteDTO = mdsRouteAPI.getRouteSeqTime(pid);//查询到的数据写入ExeclmdsRouteExportExcel.mdsExportExcel(response,mdsRouteDTO);return true;}
}

通过一下方法创建多个Sheet表,要几个创建几个

Sheet sheet2 = wb.createSheet("工序信息");

Execl写入并返回信息到服务端

package avicit.mms.mds.mdsroute.controller;import avicit.mms.mds.mdsoperationseq.dto.MdsOperationSeqDTO;
import avicit.mms.mds.mdsroute.dto.MdsRouteDTO;
import com.google.common.net.HttpHeaders;
import org.apache.commons.compress.utils.Charsets;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.*;
import org.springframework.stereotype.Component;import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;import static io.netty.handler.codec.http.HttpHeaders.Names.CONTENT_TYPE;/*** Execl导出*/
@Component
public class MdsRouteExportExcel {public void mdsExportExcel(HttpServletResponse response,MdsRouteDTO mdsRouteDTO) {Workbook wb = new XSSFWorkbook();//设置单元格式//表头设置Font fontHead = wb.createFont();fontHead.setColor(Font.COLOR_NORMAL);fontHead.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);CellStyle cellStyleHead = wb.createCellStyle();cellStyleHead.setFont(fontHead);cellStyleHead.setAlignment(HSSFCellStyle.ALIGN_CENTER);cellStyleHead.setVerticalAlignment(HSSFCellStyle.ALIGN_CENTER);//数据内容设置Font font = wb.createFont();font.setColor(Font.COLOR_NORMAL);CellStyle cellStyle = wb.createCellStyle();cellStyle.setFont(font);cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);cellStyle.setVerticalAlignment(HSSFCellStyle.ALIGN_CENTER);//创建第一个工作表Sheet sheet = wb.createSheet("主工艺信息");List<String[]> rowValues = new ArrayList<>();String[] rowHeadValue = {"*指令号","*指令名称","*工艺版本","*BOM分类","*零组件号","*主制部门编号","主制部门部门","*指令类型","*标记"};rowValues.add(rowHeadValue);String[] rowValue = {null == mdsRouteDTO.getRouteCode() ? "" :mdsRouteDTO.getRouteCode(),null == mdsRouteDTO.getRouteName() ? "" : mdsRouteDTO.getRouteName(),null == mdsRouteDTO.getRevisionNo() ? "" :  mdsRouteDTO.getRevisionNo(),"",null == mdsRouteDTO.getMdsItemCode() ? "" :  mdsRouteDTO.getMdsItemCode(),null == mdsRouteDTO.getMainDeptCode() ? "" :  mdsRouteDTO.getMainDeptCode(),null == mdsRouteDTO.getMainDeptName() ? "" :  mdsRouteDTO.getMainDeptName(),null == mdsRouteDTO.getRouteType() ? "" :  mdsRouteDTO.getRouteType(),null == mdsRouteDTO.getRouteStage() ? "" :  mdsRouteDTO.getRouteStage()};rowValues.add(rowValue);Sheet sheet2 = wb.createSheet("工序信息");for (int i = 0; i < rowValues.size(); i++){Row currentRow = sheet.createRow(i);// 获取当前行的数据String[] cellValues = rowValues.get(i);for (int j = 0; j < cellValues.length; j++) {// 设置列宽sheet.setColumnWidth(j, 4200);Cell cell = currentRow.createCell(j);if (i==0) {cell.setCellStyle(cellStyleHead);}else {cell.setCellStyle(cellStyle);}//每个单元格的值目前做 String 处理cell.setCellValue(cellValues[j]);}}//创建第二个工作表List<String[]> rowValues2 = new ArrayList<>();//第二个工作表表头String[] rowHeadValue2 = {"*零组件号","*工序号","*工序名称","*工序内码","*加工车间(车间代码)","车间名称","*检验标识","*采集标识","*计划准结时间(分钟)","*计划加工时间(分钟)"};rowValues2.add(rowHeadValue2);//服务端数据整理if(mdsRouteDTO.getMdsOperationSeqDTOList()!=null) {for (MdsOperationSeqDTO seqDTO : mdsRouteDTO.getMdsOperationSeqDTOList()) {String[] rowValue2 = {null == mdsRouteDTO.getMdsItemCode() ? "" : mdsRouteDTO.getMdsItemCode(),null == seqDTO.getOperationSeqNo() ? "" : seqDTO.getOperationSeqNo(),null == seqDTO.getOperationSeqName() ? "" : seqDTO.getOperationSeqName(),0 == seqDTO.getInnerOrder() ? "" : seqDTO.getInnerOrder() + "",null == seqDTO.getMainDeptCode() ? "" : seqDTO.getMainDeptCode(),null == seqDTO.getMainDeptName() ? "" : seqDTO.getMainDeptName(),null == seqDTO.getCheckFlag() ? "" : seqDTO.getCheckFlag(),null == seqDTO.getRecordFlag() ? "" : seqDTO.getRecordFlag(),null == seqDTO.getPlanSetupTime() ? "" : seqDTO.getPlanSetupTime().toString(),null == seqDTO.getPlanRunTime() ? "" : seqDTO.getPlanRunTime().toString()};rowValues2.add(rowValue2);}}for (int i = 0; i < rowValues2.size(); i++){Row currentRow2 = sheet2.createRow(i);// 获取当前行的数据String[] cellValues = rowValues2.get(i);for (int j = 0; j < cellValues.length; j++) {// 设置列宽sheet2.setColumnWidth(j, 5200);Cell cell = currentRow2.createCell(j);if (i==0) {cell.setCellStyle(cellStyleHead);}else {cell.setCellStyle(cellStyle);}//每个单元格的值目前做 String 处理cell.setCellValue(cellValues[j]);}}writeToExcel(response, wb, "导出工艺数据表");}/*** 数据写入Execl返回请求* @param response* @param workbook* @param fileName*/public void writeToExcel(HttpServletResponse response, Workbook workbook, String fileName) {OutputStream os = null;try {response.setContentType(CONTENT_TYPE);response.setCharacterEncoding(Charsets.UTF_8.name());response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");response.setHeader(HttpHeaders.CONTENT_DISPOSITION, String.format("attachment; filename=%s", new String(URLEncoder.encode(fileName + ".xlsx" , Charsets.UTF_8.name()).getBytes(Charsets.UTF_8), Charsets.ISO_8859_1)));os = response.getOutputStream();workbook.write(os);os.flush();} catch (Exception e) {e.printStackTrace();} finally {if (os != null) {try {os.close();} catch (IOException e) {e.printStackTrace();}}}}
}

 单元格背景色的设置目前没试验出来,可能是我用的版本有冲突吧,网上查的结果是这两个函数,可以自己尝试,单元格的设置可以了解一下CellStyle

cellStyleHead.setFillBackgroundColor(IndexedColors.CORNFLOWER_BLUE.getIndex());
cellStyleHead.setFillPattern(FillPatternType.SOLID_FOREGROUND);;

http://www.yayakq.cn/news/839232/

相关文章:

  • 商城类网站怎么推广装修平台网络推广公司
  • 杭州培训网站建设怀柔做网站
  • 徐州万网网站建设西安百度网站建设
  • 科技类网站设计特点长沙哪里学网站建设
  • 网站建设图书推荐网站正在维护中啥意思
  • 网站内容及实现方式南宁制作网站企业
  • 深圳网站建设服务哪个便宜点wordpress 分页seo
  • 网站排名软件包年沈阳网站建设哪家便宜
  • 360网站咋做罗湖网站公司
  • 互站网站源码用字母做logo的网站
  • 网站单页面可以做302跳转吗南昌正规网站公司
  • 建设企业网站的需求wordpress构建
  • 中国建设银行网站首页 定投手机网站页面大小
  • 买完域名怎么创建网站怎么样免费给网站做优化
  • 涟源网站seowordpress 商用主题
  • 购物商城网站开发实验报告购物app哪个好
  • 长春火车站封闭了吗设计公司网站页面设计
  • 一学一做腾讯视频网站吗建设网站外包公司
  • 网站做视频的软件叫什么网站功能需求列表
  • 珠海网站制作外包wordpress ip排行榜
  • 转做海外买手的网站wordpress 文章不同背景图片
  • 杭州手机网站开发环球资源网发展现状
  • 妇产科网站建设北京专业网站制作大概费用
  • 建设银行粤通卡网站如何保护网站模板
  • 专业做营销网站多多视频
  • 网站建设使用的基本技术o2o网站建设特色
  • 做视频网站需要流媒体吗长尾关键词排名推广
  • 聊城正规网站建设设计公司诏安县城乡建设局网站
  • 网站建设功能报价单pdomysql wordpress
  • 做的不错的网站wordpress后台链接