javaweb项目导出exce文件

jsp页面点击按钮将table导出为Excel(自己可以选择导出位置,导出的excel包括表头)... jsp页面点击按钮将table导出为Excel(自己可以选择导出位置,导出的excel包括表头) 展开
 我来答
狮子座大发明家
2015-11-17 · 超过24用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:38.2万
展开全部

java导出Excel需要用到poi的jar包,

// 第一步,创建一个webbook,对应一个Excel文件  
        HSSFWorkbook wb = new HSSFWorkbook();  
        // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet  
        HSSFSheet sheet = wb.createSheet("学生表一");  
        // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short  
        HSSFRow row = sheet.createRow((int) 0);  
        // 第四步,创建单元格,并设置值表头 设置表头居中  
        HSSFCellStyle style = wb.createCellStyle();  
        style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式  
  
        HSSFCell cell = row.createCell((short) 0);  
        cell.setCellValue("学号");  
        cell.setCellStyle(style);  
        cell = row.createCell((short) 1);  
        cell.setCellValue("姓名");  
        cell.setCellStyle(style);  
        cell = row.createCell((short) 2);  
        cell.setCellValue("年龄");  
        cell.setCellStyle(style);  
        cell = row.createCell((short) 3);  
        cell.setCellValue("生日");  
        cell.setCellStyle(style);  
  
        // 第五步,写入实体数据 实际应用中这些数据从数据库得到,  
        List list = CreateSimpleExcelToDisk.getStudent();  
  
        for (int i = 0; i < list.size(); i++)  
        {  
            row = sheet.createRow((int) i + 1);  
            Student stu = (Student) list.get(i);  
            // 第四步,创建单元格,并设置值  
            row.createCell((short) 0).setCellValue((double) stu.getId());  
            row.createCell((short) 1).setCellValue(stu.getName());  
            row.createCell((short) 2).setCellValue((double) stu.getAge());  
            cell = row.createCell((short) 3);  
            cell.setCellValue(new SimpleDateFormat("yyyy-mm-dd").format(stu  
                    .getBirth()));  
        }  
        // 第六步,将文件存到指定位置  
        try  
        {  
            FileOutputStream fout = new FileOutputStream("E:/students.xls");  
            wb.write(fout);  
            fout.close();  
        }  
        catch (Exception e)  
        {  
            e.printStackTrace();  
        }  
    }
更多追问追答
追问
不要设定好的表头,直接根据table的表头来的
追答

代码是死的,人事活的啊,你根据自己的需求去设置表头啊,其实也就是设定第一行:

HSSFCell cell = row.createCell((short) 0);  
cell.setCellValue("学号");  
cell.setCellStyle(style);  
cell = row.createCell((short) 1);  
cell.setCellValue("姓名");  
cell.setCellStyle(style);  
cell = row.createCell((short) 2);  
cell.setCellValue("年龄");  
cell.setCellStyle(style);  
cell = row.createCell((short) 3);  
cell.setCellValue("生日");  
cell.setCellStyle(style);

实际运用中表格中的数据一般都是后台从数据库中查询后发回前台显示,导出表格时仍然要到后台去根据你的数据构建你需要导出的Excel。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式