jsp导出excel表

该代码需要导入jxl.jar包
 
 
<%@ page language="java"  
    import="java.util.*,java.io.*,jxl.write.WritableWorkbook,jxl.Workbook,jxl.write.WritableSheet,jxl.write.Label"  
    pageEncoding="UTF-8"%>  
<%  
    try {  
        String city = "北京市";  
        String grade = "成绩";  
  
        response.setContentType("application/vnd.ms-excel"); //保证不乱码  
  
        String fileName = city + "excel表格数据.xls";  
        /* //到第一个值项是attachment,这是真正的关键,设定了这个值,浏览器就会老老实实地显示另存为对话框,如果这个值设成 inline,则无论怎样浏览器都会自动尝试用已知关联的程序打开文件。 
        response.addHeader("Content-Disposition","attachment; filename=\""+ new String(fileName.getBytes("gb2312"),"iso8859-1") + "\""); */  
          
        response.setHeader("Content-Disposition", "attachment;"  
                + " filename="  
                + new String(fileName.getBytes(), "ISO-8859-1"));  
        OutputStream os = response.getOutputStream();  
        out.clear();  
        out = pageContext.pushBody(); //这2句一定要,不然会报错。  
        // 新建excel的工作薄文件  
        WritableWorkbook book = Workbook.createWorkbook(os);  
        // 生成名为"第一页"的工作表,参数0表示这是第一页  
        WritableSheet sheet1 = book.createSheet("第一页", 0);  
        /***********start第一行(各个列的标题)************/  
        //第一列第一行(0,0)  
        Label label1 = new Label(0, 0, "名字");  
        // 将定义好的单元格添加到工作表中  
        sheet1.addCell(label1);  
        //第二列第一行  
        Label label2 = new Label(1, 0, "性别");  
        sheet1.addCell(label2);  
        //第三列第一行  
        Label label3 = new Label(2, 0, "年龄");  
        sheet1.addCell(label3);  
        /***********end第一行(各个列的标题)************/  
        for(int i=1; i<=50; i++){    //控制行数(从第二行开始)  
                for(int j=0 ;j<3 ;j++) { //控制列数  
                    if(j==0) {  
                        Label label = new Label(j, i, "zp");  
                        sheet1.addCell(label);  
                    }  
                    if(j==1) {  
                        Label label = new Label(j, i, "男");  
                        sheet1.addCell(label);  
                    }  
                    if(j==2) {  
                        Label label = new Label(j, i, "23");  
                        sheet1.addCell(label);  
                    }         
                }         
        }     
        // 写入数据并关闭文件  
        book.write();  
        book.close();  
        os.close();  
  
    } catch (Exception e) {  
        System.out.println("生成信息表(Excel格式)时出错:");  
        e.printStackTrace();  
    }  
%>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值