后台需要将用户信息数据导入到Excel表中提供给相关人员:

首先查询数据就不多说了;

导入Excel表直接亮代码(采用的是jxl的jar包提供的方法):

public static File ImportToExcel(List<String> data,String title) {
log.info("数据导入条数:{},标题:{}",data.size(),title);
WritableWorkbook workbook = null;
WritableSheet sheet = null;
Label label = null;
if (!title.equals("cellphone") && !title.equals("email")) {
log.info("数据标题不正确");
return null;
}
// 创建Excel表
File file = null;
try {
file = new File(System.getProperty("java.io.tmpdir")+title+".xlsx");
workbook = Workbook.createWorkbook(file);
//workbook = Workbook.createWorkbook(os);

// 创建Excel表中的sheet
sheet = workbook.createSheet("First Sheet", 0);

// 向Excel中添加数据
int row = 0;
// 添加标题
label = new Label(0, row, title.equals("cellphone") ? "手机信息表" : "邮箱信息表");
// log.debug("标题:"+i+"---"+row +"---"+ colName);
sheet.addCell(label);
log.debug("写入标题成功");
for (int i = 0; i < data.size(); i++) {
label = new Label(0, i+1, data.get(i));
sheet.addCell(label);
}
log.debug("写入内容成功");

// 关闭文件
workbook.write();
workbook.close();
log.info("数据成功写入Excel");
} catch (RowsExceededException e) {
log.debug(e.getMessage());
} catch (WriteException e) {
log.debug(e.getMessage());
} catch (IOException e) {
log.debug(e.getMessage());
} finally {
try {
workbook.close();
} catch (Exception e) {
}
}
return file;
}

思路:先创建一个tomcat临时文件的Excel表:new File(System.getProperty("java.io.tmpdir")+title+".xlsx")

再用jxl提供的接口方法将数据写入表中;最后将表下载到本地:

File file = ExcelUtil.ImportToExcel(data, name);
response.addHeader("Content-Type", "application/vnd.ms-excel");
response.addHeader("Content-Disposition","attachment; filename="+file.getName());
InputStream is = null;
OutputStream os = null;
try {
is = new FileInputStream(file);
os = response.getOutputStream();
IOUtils.copy(is, os);
response.flushBuffer();
} catch (Exception e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(os);
}

导出数据库数据到Excel表的更多相关文章

  1. java 对excel操作 读取、写入、修改数据;导出数据库数据到excel

    ============前提加入jar包jxl.jar========================= // 从数据库导出数据到excel public List<Xskh> outPu ...

  2. 导出数据库数据制成Excel和txt

    引用ICSharpCode.SharpZipLib.dll 1.编写压缩和解压代码 using System; using System.Collections.Generic; using Syst ...

  3. 配置ODBC DSN数据源,导出数据库数据到Excel过程记录

    一.前言 工作中我们可能遇到这样的需要:查询数据库中的信息,并将结果导出到Excel文件.这本来没什么,但数据量比较大时,用PLSQL.toad导出Excel会出现内存不足等情况,使用odbc+Mic ...

  4. 导出大量数据到excel表

    set_time_limit(0);error_reporting(0); // 输出Excel文件头,可把user.csv换成你要的文件名header('Content-Type: applicat ...

  5. 数据库数据用Excel导出的3种方法

    将数据库数据用Excel导出主要有3种方法:用Excel.Application接口.用OleDB.用HTML的Tabel标签 方法1——Excel.Application接口: 首先,需要要Exce ...

  6. PHP导出MySQL数据到Excel文件

    PHP导出MySQL数据到Excel文件 转载 常会碰到需要从数据库中导出数据到Excel文件,用一些开源的类库,比如PHPExcel,确实比较容易实现,但对大量数据的支持很不好,很容易到达PHP内存 ...

  7. .NET使用Office Open XML导出大量数据到 Excel

    我相信很多人在做项目的都碰到过Excel数据导出的需求,我从最开始使用最原始的HTML拼接(将需要导出的数据拼接成TABLE标签)到后来happy的使用开源的NPOI, EPPlus等开源组件导出EX ...

  8. Excel导出数据库数据

    package com.hxkr.util; import java.io.FileOutputStream; import java.util.ArrayList; import java.util ...

  9. 数据库数据生成Excel表格(多用在导出数据)

    最近在项目开发中遇到这样一个需求,用户聊天模块产品要求记录用户聊天信息,但只保存当天的,每天都要刷新清空数据,但聊天记录要以Excel的形式打印出来,于是就引出了将数据库的数据导出成Excel表格的需 ...

随机推荐

  1. 读取hive文件并将数据导入hbase

    package cn.tansun.bd.hbase; import java.io.IOException; import java.net.URI; import java.util.List; ...

  2. VS 2017产品秘钥

    Enterprise: NJVYC-BMHX2-G77MM-4XJMR-6Q8QF Professional: KBJFW-NXHK6-W4WJM-CRMQB-G3CDH

  3. vue - blog开发学7

    将基本的项目部署到linux上(前后台只是实现了基本的功能,本次只是记录一些基本的开发流程,完善,等后续) 1.linux环境准备(我用的是阿里云服务器) ①jre.mysql,Nginx基本上这些就 ...

  4. Python的基本类型(list,tuple)

    Python的基本类型(list,tuple) 一列表: 1.列表是Python基础的数据类型之一,其他语言也有类似的数据类型,比如js中的数组,java中的数组等,它是以[]括起来 ,每个元素用', ...

  5. 关于dom获取元素的几种方式

    原文链接:https://blog.csdn.net/levinhax/article/details/71274456 获取元素DOM对象有很多种方法,以前一直在用getElementById和ge ...

  6. Makefile总结(转帖)

    文章地址:http://www.cnitblog.com/textbox/archive/2009/10/21/62036.aspx makefile 主要包含以下几点  显式规则 :描述了在何种情况 ...

  7. 入门GoldenGate总结

    前言 GoldenGate 是oracle官方的一款数据同步产品,类似于msyql的主从复制,配置也稍稍复杂,其中概念一定要搞清楚,不然会被坑的爬不起. 坑 1.数据在线同步(不是指数据初始化),只能 ...

  8. 【串线篇】SpringMVC九大组件

    SpringMVC中的Servlet一共有三个层次,分别是HttpServletBean.FrameworkServlet和 DispatcherServlet. HttpServletBean直接继 ...

  9. python3.x 匿名函数lambda_扩展sort

    #匿名函数lambda 参数: 表达式关键字 lambda 说明它是一个匿名函数,冒号 : 前面的变量是该匿名函数的参数,冒号后面是函数的返回值,注意这里不需使用 return 关键字. ambda只 ...

  10. GA来源分析

    网页中广告素材分为:文字,图片和FLASH三种.针对这三种素材,2种有无参数的情况,新旧版GA收集到的结果为: 提醒:FLASH素材如果不加参数收集不到来源: 具体GA参数如下: 可参考:https: ...