| | |
| | | protected void doPost(HttpServletRequest req, HttpServletResponse resp)
|
| | | throws ServletException, IOException {
|
| | | String pageName=req.getParameter("PageName");
|
| | | |
| | | String exp_KeyWord = req.getParameter("exp_normal"); //通用到处表格标识符
|
| | |
|
| | | if(ServletUtils.isNotNull(pageName)){
|
| | | if("ele_statistics.jsp".equals(pageName)){
|
| | | excelTitle="电池信息统计查询";
|
| | |
| | | excelTitle="设备状态变化记录表";
|
| | | Exporttele_eleBrdwMaintTable(resp,req);
|
| | | }
|
| | | }else if(ServletUtils.isNotNull(exp_KeyWord)){
|
| | | if("1".equals(exp_KeyWord)){
|
| | | ExportGeneralExcelTable(resp,req); //导出通用的表格
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | private void ExportGeneralExcelTable(HttpServletResponse resp,
|
| | | HttpServletRequest req) {
|
| | | String exp_thead_str = req.getParameter("exp_thead");
|
| | | String exp_tbody_str = req.getParameter("exp_tbody");
|
| | | |
| | | String exp_page_break = req.getParameter("exp_page_break");
|
| | | String exp_data_break = req.getParameter("exp_data_break");
|
| | | |
| | | String exp_page_names_str = req.getParameter("exp_page_names");
|
| | | |
| | | String[] exp_page_names = new String[]{};
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | try {
|
| | | //定义一个工作簿
|
| | | HSSFWorkbook workbook = new HSSFWorkbook();
|
| | | |
| | | |
| | | if(!ServletUtils.isNotNull(exp_page_names_str)){
|
| | | return;
|
| | | //exp_page_names[0] = "sheet1";
|
| | | }else{
|
| | | exp_page_names = exp_page_names_str.split(exp_page_break); //分割工作簿的名称
|
| | | |
| | | String[] exp_thead_sheets = exp_thead_str.split(exp_page_break);
|
| | | String[] exp_tbody_sheets = exp_tbody_str.split(exp_page_break); |
| | | |
| | | for (int i = 0; i < exp_page_names.length && exp_page_names.length >= exp_thead_sheets.length; i++) {
|
| | | HSSFSheet sheet = workbook.createSheet(excelTitle);
|
| | | String[] exp_thead = exp_thead_sheets[i].split(exp_data_break);
|
| | | String[] exp_tbody = exp_tbody_sheets[i].split(exp_data_break);
|
| | | |
| | | int maxColNum = exp_thead.length; //最大列数
|
| | | int nowRowNum = 0; //当前行
|
| | | int nowColNum = 0; //当前列
|
| | | for(int j=0;j <= exp_tbody.length;j++){
|
| | | HSSFRow row = null;
|
| | | if(j == 0){
|
| | | row = sheet.createRow(nowRowNum++); |
| | | for(int k=0;k<exp_thead.length;k++){ |
| | | HSSFCell cell = row.createCell(k);
|
| | | HSSFRichTextString text = new HSSFRichTextString(exp_thead[k]);
|
| | | //System.out.print(text+"\t");
|
| | | cell.setCellValue(text);
|
| | | }
|
| | | continue;
|
| | | }else if(j%maxColNum == 1){
|
| | | nowColNum = 0;
|
| | | row = sheet.createRow(nowRowNum++);
|
| | | }
|
| | | HSSFCell cell = row.createCell(nowColNum++);
|
| | | HSSFRichTextString text = new HSSFRichTextString(exp_tbody[j-1]);
|
| | | //System.out.print(text+"\t");
|
| | | cell.setCellValue(text); |
| | | } |
| | | } |
| | | } |
| | | // 转码防止乱码
|
| | | resp.addHeader("Content-Disposition", "attachment;filename="
|
| | | + new String(excelName.getBytes("gb2312"), "ISO8859-1")
|
| | | + ".xls");
|
| | | OutputStream out = resp.getOutputStream();
|
| | | } catch (UnsupportedEncodingException e) {
|
| | | e.printStackTrace();
|
| | | } catch (IOException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | private void Exporttele_eleBrdwMaintTable(HttpServletResponse resp,
|
| | | HttpServletRequest req) {
|
| | | String[] th_arr=req.getParameter("table_th_arr").split(",");
|