用java将数据导出到wps表格中,怎么实现

2025-04-10 19:31:51
推荐回答(1个)
回答1:

一:页面图片显示预览:

1)如下图:


2)点击导出按钮后预览:

3)最终生成的excel表格图片预览:

二:代码演示:

说明:执行操作时,请先引进导出excel表格的jar文件包。

找到导出按钮所执行的js方法,在java后天查看该方法的实现即可。

1)jsp代码:


[html] view plaincopyprint?

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  

<%@taglib prefix="s" uri="/struts-tags" %>  

<%  

    String path = request.getContextPath();  

    String basePath = request.getScheme() + "://"  

            + request.getServerName() + ":" + request.getServerPort()  

            + path + "/";  

%>  

  

  

">  

驾校合格率排名  

  

  

  

  

  

  

  

function load()  

{  

//根据分辨率设置表格大小  

maxw=document.getElementById("maintb").offsetWidth;  

    if(maxw<824){//1024分辨率未展开  

       mainbox.width="98%";  

    } else if(maxw<1013){//1024分辨率展开  

       mainbox.width="98%";  

    } else  if(maxw<1081){//1280分辨率未展开  

       mainbox.width="95%";  

    } else  if(maxw<1270){//1280分辨未展开  

       mainbox.width="95%";  

    }else{//1280以上分辨展开  

       mainbox.width="98%";  

    }  

}  

  

  

  

  

    

    

      

        

          

          

              

                

              驾校合格率排名  

                 

              

              

                

                

                

                

                 

                   

                      

                      

                     统计日期:  

                    " onclick="WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM'})"/>          

                      

                              

                              

                      

                      

                 

               

                 

                  

                  

                  

                      

                        名次  

                        名称  

                        科目一  

                        科目二  

                        科目三  

                        平均合格率  

                        操作  

                      

                  

                  

                  

                      

                      

                      

                      

                      

                    %  

                      

                    hgltj.action?method=getTbForJxxh&tjjxkshgl.jxxh=&tjjxkshgl.zt=1','',1250,750);">图表  

                      

                  

                  

               

              

                  

              

          

      

  


2)java代码演示:



[java] view plaincopyprint?

/** 

     * 驾校合格率导出excel图表 

     */  

  

         //response.getOutputStream();// 取得输出流     

        response.reset();// 清空输出流     

        String tmptitle = "驾校合格率排名"; // 标题     

        response.setHeader("Content-disposition", "attachment; filename="+new String(tmptitle.getBytes(),"iso8859-1")+".xls");// 设定输出文件头     

        response.setContentType("application/vnd.ms-excel");// 定义输出类型   

         wbook = Workbook.createWorkbook(os); // 建立excel文件     

        WritableSheet wsheet = wbook.createSheet(tmptitle, 0); // sheet名称    

        // 设置excel标题  

        

        //cellFormat.setBackground(Colour.AQUA);  

        cellFormat.setFont(wfont);  

        label.setCellFormat(cellFormat);         

        wsheet.addCell(label);  

        //wsheet.addCell(new Label(0, 0, tmptitle, wcfFC));  

        wsheet.setRowView(0,500); //第一行高度  

        wsheet.mergeCells(0, 0, 6, 1);  //合并单元格(第一列的第一行和第七列的第二行合并)      

        //wsheet.mergeCells(0, 1, 9, 1);      

//      wsheet.mergeCells(0, 2, 0, 4);       

//      wsheet.mergeCells(1, 2, 3, 2);       

//      wsheet.mergeCells(4, 2, 6, 2);       

//      wsheet.mergeCells(7, 2, 9, 2);       

        wsheet.setColumnView(0,10); //宽度  

        wsheet.setColumnView(1,25); //宽度  

        wsheet.setColumnView(2,10); //宽度  

        wsheet.setColumnView(3,10); //宽度  

        wsheet.setColumnView(4,10); //宽度  

        wsheet.setColumnView(5,10); //宽度  

        // 开始生成主体内容         

        wfont = new jxl.write.WritableFont(WritableFont.ARIAL, 14,WritableFont.BOLD,false, UnderlineStyle.NO_UNDERLINE,Colour.BLACK);     

        wcfFC = new WritableCellFormat(wfont);  

        wsheet.addCell(new Label(0, 2, "名次",wcfFC));     

        wsheet.addCell(new Label(1, 2, "驾校名称",wcfFC));     

        wsheet.addCell(new Label(2, 2, "科目一",wcfFC));    

        wsheet.addCell(new Label(3, 2, "科目二",wcfFC));  

        wsheet.addCell(new Label(4, 2, "科目三",wcfFC));   

        wsheet.addCell(new Label(5, 2, "合格率",wcfFC));    

          

            int count=jxhelpmList.size();  

                if(count>0){  ////判断集合是否不为0  

                    TjJxkshgl tjhgl=null;  

                    for(int i=0;i

                        tjhgl=(