1.Maven需要的依赖

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.14</version>
</dependency> <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.14</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-examples -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-examples</artifactId>
<version>3.14</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-excelant -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-excelant</artifactId>
<version>3.14</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.14</version>
</dependency>

2.导入示例

 /**
* 黑名单查询
* @param blackListBean
* @return
*/
@RequestMapping(value = "/blackList", method = RequestMethod.POST)
@ResponseBody
public BaseReturnModel blackList(
@RequestBody BlackListBean blackListBean
) {
BaseReturnModel baseReturnModel = new BaseReturnModel();
List<BlackListBean> resultList = null;
int total = 0;
try {
if (blackListBean.getDownLoad() == null) {
int start = (blackListBean.getPagination() - 1) * blackListBean.getRownum(); // 分页处理 //rownum页数
blackListBean.setStart(start);
}
if (blackListBean.getUserIds() != null && !"".equals(blackListBean.getUserIds())) {
blackListBean.setIdUsers(blackListBean.getUserIds().split(","));
}
resultList = blackListSerivce.selectBlackList(blackListBean);
total = blackListSerivce.selectResult(blackListBean); } catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
baseReturnModel.setCode(200);// 状态
baseReturnModel.setMess("系统错误");
}
if (blackListBean.getDownLoad() != null) {
if (resultList.size() > 0) {
//创建一个表格
SXSSFWorkbook workbook = new SXSSFWorkbook();
//创建一个工作表
SXSSFSheet sheet = workbook.createSheet("sheet1");
//设置表头行
SXSSFRow xssfRow = sheet.createRow(0);
//设置单元格格式居中
CellStyle cellStyle = workbook.createCellStyle();
cellStyle.setAlignment(XSSFCellStyle.ALIGN_CENTER);
//添加表头内容
SXSSFCell headCell = xssfRow.createCell(0);
headCell.setCellValue("站点ID");
headCell.setCellStyle(cellStyle);
// 单元格列宽 0代表列位置
sheet.setColumnWidth(0, 5500);
sheet.setColumnWidth(1, 5500);
sheet.setColumnWidth(2, 5500);
sheet.setColumnWidth(3, 5500);
sheet.setColumnWidth(4, 5500); //设置每列的参数
headCell = xssfRow.createCell(1);
headCell.setCellValue("站点名称");
headCell.setCellStyle(cellStyle); headCell = xssfRow.createCell(2);
headCell.setCellValue("黑名单手机号/单号");
headCell.setCellStyle(cellStyle); headCell = xssfRow.createCell(3);
headCell.setCellValue("理由");
headCell.setCellStyle(cellStyle); headCell = xssfRow.createCell(4);
headCell.setCellValue("时间");
headCell.setCellStyle(cellStyle); int b = 1;
String s = JSON.toJSONString(resultList);
SimpleDateFormat sdf = new SimpleDateFormat
("yyyy-MM-dd HH:mm:ss");
List<BlackListBean> list = JSON.parseArray(s, BlackListBean.class);
for (BlackListBean obj : list) {
xssfRow = sheet.createRow(b++); //时间戳转换
Long aLong = new Long(obj.getCreateTime());
Date date = new Date(aLong); //创建单元格,并添加值
SXSSFCell cell = xssfRow.createCell(0);
cell.setCellValue(obj.getIdUser());
cell.setCellStyle(cellStyle); cell = xssfRow.createCell(1);
cell.setCellValue(obj.getName());
cell.setCellStyle(cellStyle); cell = xssfRow.createCell(2);
cell.setCellValue(obj.getMobile());
cell.setCellStyle(cellStyle); cell = xssfRow.createCell(3);
cell.setCellValue(obj.getNote());
cell.setCellStyle(cellStyle); cell = xssfRow.createCell(4);
cell.setCellValue(sdf.format(date));
cell.setCellStyle(cellStyle);
}
//保存文件
String imgpath = "/usr/local/tomcat/apache-tomcat-8.5.32/webapps/excel/";
File file = new File(imgpath);
if (!file.exists()) {
file.mkdirs();
}
try {
String imgFilePath = imgpath + "blackList" + ".xlsx";
OutputStream outputStream = new FileOutputStream(imgFilePath);
baseReturnModel.setObj("/excel/" + "blackList" + ".xlsx");
baseReturnModel.setCode(200);
baseReturnModel.setMess("正在下载"); try {
workbook.write(outputStream);
} catch (IOException e) {
e.printStackTrace();
baseReturnModel.setCode(500);
baseReturnModel.setMess("写入失败");
baseReturnModel.setObj("");
} try {
outputStream.close();
workbook.close();
} catch (IOException e) {
e.printStackTrace();
} } catch (FileNotFoundException e) {
e.printStackTrace();
baseReturnModel.setCode(500);
baseReturnModel.setMess("下载失败");
}
return baseReturnModel;
} else {
baseReturnModel.setCode(500);
baseReturnModel.setMess("没有可提供下载得内容");
return baseReturnModel;
}
}
baseReturnModel.setCode(200);// 状态
baseReturnModel.setMess("成功");
baseReturnModel.setObj(resultList);
baseReturnModel.setTotal(total);
return baseReturnModel;
}

java将数据库中查询到的数据导入到Excel表格的更多相关文章

  1. SpringMvc处理模型数据(也就是从数据库中查询出来的数据放到请求域中)

    这讲的是从数据库中查询到的数据,存放到请求域中.然后页面上直接可以从请求域中获取值. 有4种方式: 1):ModelAndView   是作为一个对象. /** * 目标方法的返回值可以是 Model ...

  2. vue中使用分页组件、将从数据库中查询出来的数据分页展示(前后端分离SpringBoot+Vue)

    文章目录 1.看实现的效果 2.前端vue页面核心代码 2.1. 表格代码(表格样式可以去elementui组件库直接调用相应的) 2.2.分页组件代码 2.3 .script中的代码 3.后端核心代 ...

  3. Java向数据库中一次性插入大量数据

    String sql = “insert into username.tablename(id) values(?)”; PreparedStatement stmt = conn.prepareSt ...

  4. C#将数据导入到Excel表格中

    public static DataTable GetExcelToDataTableBySheet(string FileFullPath, string SheetName){           ...

  5. JDBC方式从数据库中查询数据并显示

    1.创建数据库表myuser DROP TABLE IF EXISTS `myuser`; CREATE TABLE `myuser` ( `) NOT NULL COMMENT '姓名', `id` ...

  6. MongoDB数据库中查询数据(下)

    MongoDB数据库中查询数据(下) 在find中,options参数值为一个对象,用来设置查询数据时使用的选项,下面我们来对该参数值对象中可以使用的属性进行介绍: 1. fields; 该属性值为一 ...

  7. 在MongoDB数据库中查询数据(上)

    在MongoDB数据库中查询数据(上) 在MongoDB数据库中,可以使用Collection对象的find方法从一个集合中查询多个数据文档,find方法使用方法如下所示: collection.fi ...

  8. flask再学习-思考之怎么从数据库中查询数据在页面展示!

    看别人视频觉得很简单,要自己做蒙蔽了!这样子.NO! 1. 流程: 首先要有和数据库连接的驱动!一般有PYMySQL mysqlclient 等 使用扩展Flask-SQLAlchemy 获得orm对 ...

  9. 使用JDBC从数据库中查询数据的方法

    * ResultSet 结果集:封装了使用JDBC 进行查询的结果 * 1. 调用Statement 对象的 executeQuery(sql) 方法可以得到结果集 * 2. ResultSet 返回 ...

随机推荐

  1. 2018-2019-2-20175235 实验一 《Java开发环境的熟悉》实验报告

    实验一 Java开发环境的熟悉 实验内容及要求: 1.使用JDK编写简单的Java程序 2.使用IDEA编辑编译运行调试测试Java程序 实验内容,步骤与心得: (一).Linux命令行下Java程序 ...

  2. Mongodb 相关链接

    http://www.cnblogs.com/lanceyan/tag/mongodb/

  3. linux 查看ip地址

    1.先要打开linux服务器,然后在linux桌面的空白处点击右键 2.在弹出的选项里,点击[打开终端] 3.打开linux服务器的命令终端后,输入查询linux的ip地址的命令:ifconfig - ...

  4. 02使用java脚本向Pxc集群写入数据

    使用java脚本向Pxc集群写入数据 批量写入pxc集群程序 导入mysql驱动包 # 批量插入数据的java脚本 package pxc_demo; import java.sql.Connecti ...

  5. loongson 2f 和u-boot中的cache命令对照

    00000 Index Invalidate INDEX_INVALIDATE_I (I) 00001 Index WriteBack Invalidate INDEX_WRITEBACK_INV_D ...

  6. Python——类与对象,异常处理

    类 class C1: def setdata(self,value): self.data = value def display(self): print(self.data) class C2( ...

  7. P2255 [USACO14JAN]记录奥林比克

    P2255 [USACO14JAN]记录奥林比克 题目描述 农民约翰热衷于所有寒冷天气的运动(尤其是涉及到牛的运动), 农民约翰想录下尽可能多的电视节目. 为moolympics电视时间表由N个不同的 ...

  8. ansible理解

    目录 inventory文件 patterns 模块 ansible配置文件 PlayBook使用 inventory文件 [cassandra:children] shcp-01 shcp-06 b ...

  9. mybatis 中使用 in 查询

    转:http://www.cnblogs.com/xusir/archive/2013/07/24/3210286.html 当查询的参数只有一个时 a 如果参数的类型是List, 则在使用时,col ...

  10. apache与nginx原理

    参考:  https://blog.csdn.net/yf3585595511/article/details/54933646