怎么将数据库数据编程Excel表格
1个回答
2018-06-30 · 百度认证:云南新华电脑职业培训学校官方账号
云南新华电脑学校
云南新华电脑学校是经云南省教育厅批准成立的省(部)级重点计算机专业学校,采用三元化管理模式,教学设备先进,师资雄厚学生毕业即就业,学院引进了电商企业入驻,创建心为电商创业园区,实现在校即创业
向TA提问
关注
展开全部
主要步骤为:
创建表格
生成表头(将列名生成出来)
在表格中插入数据
编写一个浏览器下载这个表格的方法
- public void downloadExcel(List<Object> list) throws IOException { if (list == null) { return;
- } else if (list.size() == 1) { return;
- } // 得到结果,生成Excel文件
- HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
- HSSFSheet sheet = hssfWorkbook.createSheet("表格数据"); // 生成表头
- HSSFRow headRow = sheet.createRow(0);
- headRow.createCell(0).setCellValue("表格列1");
- headRow.createCell(1).setCellValue("表格列2");
- headRow.createCell(2).setCellValue("表格列3");
- headRow.createCell(3).setCellValue("表格列4");
- headRow.createCell(4).setCellValue("表格列5");
- headRow.createCell(5).setCellValue("表格列6");
- headRow.createCell(6).setCellValue("表格列7"); // 将数据插入表中
- for (Object obj : list) {
- HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum() + 1);
- dataRow.createCell(0).setCellValue("obj对象的对应列名属性");
- dataRow.createCell(1).setCellValue("obj对象的对应列名属性");
- dataRow.createCell(2).setCellValue("obj对象的对应列名属性");
- dataRow.createCell(3).setCellValue("obj对象的对应列名属性");
- dataRow.createCell(4).setCellValue("obj对象的对应列名属性");
- dataRow.createCell(5).setCellValue("obj对象的对应列名属性");
- dataRow.createCell(6).setCellValue("obj对象的对应列名属性");
- } // 通过浏览器下载导出
- // 设置表头信息
- ServletActionContext.getResponse().setContentType("application/vnd.ms-excel");
- String filename = "表格数据.xls";
- String agent = ServletActionContext.getRequest().getHeader("user-agent");
- filename = FileUtils.encodeDownloadFilename(filename, agent);
- ServletActionContext.getResponse().setHeader("Content-Disposition", "attachment;filename=" + filename);
- ServletOutputStream outputStream = ServletActionContext.getResponse().getOutputStream();
- hssfWorkbook.write(outputStream); // 关闭
- hssfWorkbook.close();
- }//下载浏览器识别工具类一个package com.echo.maven.utils;import java.io.IOException;import java.net.URLEncoder;import sun.misc.BASE64Encoder;public class FileUtils {
- /**
- * 下载文件时,针对不同浏览器,进行附件名的编码
- *
- * @param filename
- * 下载文件名
- * @param agent
- * 客户端浏览器
- * @return 编码后的下载附件名
- * @throws IOException
- */
- public static String encodeDownloadFilename(String filename, String agent) throws IOException { if (agent.contains("Firefox")) { // 火狐浏览器
- filename = "=?UTF-8?B?"
- + new BASE64Encoder().encode(filename.getBytes("utf-8"))
- + "?=";
- filename = filename.replaceAll("\r\n", "");
- } else { // IE及其他浏览器
- filename = URLEncoder.encode(filename, "utf-8");
- filename = filename.replace("+"," ");
- } return filename;
- }
- }123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
一下为源码
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询