后台需要将用户信息数据导入到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. Dubbo 系列(07-3)集群容错 - 负载均衡

    目录 Dubbo 系列(07-3)集群容错 - 负载均衡 Spring Cloud Alibaba 系列目录 - Dubbo 篇 1. 背景介绍 1.1 负载均衡算法 1.2 继承体系 2. 源码分析 ...

  2. VMware中Centos7的静态ip设置

    网络连接方式:桥接模式.修改后确定.启动centos7,root账户进行登录. 2.修改网卡配置文件 (1) 打开网卡配置文件 vim /etc/sysconfig/network-scripts/i ...

  3. redis 入门之集合

    sadd 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略.假如 key 不存在,则创建一个只包含 member 元素作成员的集合.当 key 不 ...

  4. JAVA编程思想(1) - 一切都是对象

     -"假设我们说还有一种不用的语言,那么我们就会发觉一个有些不同的世界" 1. 用引用操纵对象        每种编程语言都有自己的数据处理方式. 有些时候,程序猿必须时刻留意准备 ...

  5. Java 编程技巧之数据结构

    前言: 介绍几种常见的java数据结构及应用. 使用HashSet判断主键是否存在 HashSet 实现 Set 接口,由哈希表(实际上是 HashMap )实现,但不保证 set  的迭代顺序,并允 ...

  6. Redis的常用功能

    排序: sort mylist 排序 sort mylist alpha desc limit 0 2 字母排序 sort list by it:* desc by命令 sort list by it ...

  7. PL/SQL to update all columns

    undefine schema_name; declare l_Err ); begin for r in (select atc.table_name, atc.column_name, atc.d ...

  8. Codeforces 362E 费用流

    题意及思路:https://blog.csdn.net/mengxiang000000/article/details/52472696 代码: #define Hello the_cruel_wor ...

  9. RecyclerView跳转到指定位置的三种方式

    自从android5.0推出RecyclerView以后,RecyclerView越来越受广大程序员的热爱了!大家都知道RecyclerView的出现目的是为了替代listview和ScrollVie ...

  10. linux CentOS7 nginx nginx-rtmp-module搭建直播

    直播配置 1. 安装 Nginx 依赖软件 yum -y install gcc gcc-c++ autoconf automake make yum -y install zlib zlib-dev ...