java 导出excel表格数据

  本篇文章基于java把数据库中的数据以Excel的方式导出,欢迎各位大神吐槽:

1、基于maven jar包引入如下:

  

1 <dependency>
2     <groupId>net.sourceforge.jexcelapi</groupId>
3     <artifactId>jxl</artifactId>
4     <version>2.6.12</version>
5 </dependency>

2、首先创建数据库对应的实体类VO :UserVO(具体代码省略);

3、确定导出Excel内的title列,并放在数组里:String[] (具体代码省略);

4、编写导出Excel的方法:

传入参数:

  Excel名称,Excel内的title列数组String[],数据集合List<UserVO>

 1 package bp.util;
 2
 3 import java.io.OutputStream;
 4 import java.util.List;
 5 import javax.servlet.http.HttpServletResponse;
 6 import java.lang.reflect.Field;
 7
 8 import jxl.Workbook;
 9 import jxl.format.Alignment;
10 import jxl.format.Border;
11 import jxl.format.BorderLineStyle;
12 import jxl.format.VerticalAlignment;
13 import jxl.write.Label;
14 import jxl.write.WritableCellFormat;
15 import jxl.write.WritableFont;
16 import jxl.write.WritableSheet;
17 import jxl.write.WritableWorkbook;
18
19 public class ExportExcel {
20
21     public final static String exportExcel(String fileName, String[] Title, List listContent,
22             HttpServletResponse response) {
23         String result = "Excel文件导出成功!";
24         try {
25             OutputStream os = response.getOutputStream();
26             response.reset();
27             response.setHeader("Content-disposition",
28                     "attachment; filename=" + new String(fileName.getBytes("GB2312"), "ISO8859-1"));
29             response.setContentType("application/msexcel");
30             WritableWorkbook workbook = Workbook.createWorkbook(os);
31
32             WritableSheet sheet = workbook.createSheet("Sheet1", 0);
33             jxl.SheetSettings sheetset = sheet.getSettings();
34             sheetset.setProtected(false);
35
36             WritableFont BoldFont = new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD);
37             WritableCellFormat wcf_center = new WritableCellFormat(BoldFont);
38             wcf_center.setBorder(Border.ALL, BorderLineStyle.THIN);
39             wcf_center.setVerticalAlignment(VerticalAlignment.CENTRE);
40             wcf_center.setAlignment(Alignment.CENTRE);
41             wcf_center.setWrap(true);
42
43             for (int i = 0; i < Title.length; i++) {
44                 sheet.setColumnView(i, 20);
45                 sheet.addCell(new Label(i, 0, Title[i], wcf_center));
46             }
47             Field[] fields = null;
48             int i = 1;
49             for (Object obj : listContent) {
50                 fields = obj.getClass().getDeclaredFields();
51                 int j = 0;
52                 for (Field v : fields) {
53                     v.setAccessible(true);
54                     Object va = v.get(obj);
55                     if (va == null) {
56                         va = "";
57                     }
58                     sheet.addCell(new Label(j, i, va.toString(), wcf_center));
59                     j++;
60                 }
61                 i++;
62             }
63             workbook.write();
64             workbook.close();
65
66         } catch (Exception e) {
67             result = "Excel文件导出失败";
68             e.printStackTrace();
69         }
70         return result;
71     }
72 }

在需要导出数据的时候调用此方法即可;

时间: 2024-11-05 16:02:15

java 导出excel表格数据的相关文章

java中使用poi导出excel表格数据并且可以手动修改导出路径

在我们开发项目中,很多时候会提出这样的需求:将前端的某某数据以excel表格导出,今天就给大家写一个简单的模板. 这里我们选择使用poi导出excel: 第一步:导入需要的jar包到 lib 文件夹下 jar包下载路径:http://download.csdn.net/download/pumpkin09/7077011 第二步:添加poi导出工具类 1 package com.yjd.admin.util; 2 3 import java.io.IOException; 4 import ja

Java导出Excel表格

利用Java将数据库中的数据导出为excel表格,导出完后可以下载,并压缩成zip格式 使用poi导出excel表,可以设置列宽.单元格合并居中.背景色设置等. 主要代码如下: 前端js代码 1 <body> 2 <button onclick="test()">导出 excel表</button> 3 4 <a id="download" href="#"> <span id="s

java 导出Excel 大数据量

出处: http://lyjilu.iteye.com/ 分析导出实现代码,XLSX支持: /** * 生成<span style="white-space: normal; background-color: #ffffff;">XLSX</span>,2007版本的excel,每个sheet无6.5W的行数限制,但是到了一定数量,可能内存溢出, * 次方法适合在预计10W以下的数据导出时使用,本机测试,14W可以导出.列数量在8列左右 * * @param

Java导出Excel三表头

1.问题背景 Java导出Excel表格时,表头出现了三个,即多表头Excel 2.实现源码 /** * * @Project:Report * @Title:ThreeHead.java * @Package:com.you.excel * @Description: * @Author:YouHaiDong * @Date:2015年11月4日 下午3:10:12 * @Version: */ package com.you.excel; import java.io.FileOutputS

java使用POI,以excel文件的形式,导出前端表格数据

知识点:前端表格数据,调用后台接口,导出excel文件数据,使用到Apache POI接口 POI提供API给Java程序对Microsoft Office格式档案读和写的功能. (1)在pom.xml中引入POI和文件读写相关的包 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId></dependency> <depend

java代码实现导出Excel表格、工具ssm框架、maven、idea

第一步.导入依赖 <!--生成excel文件--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version> </dependency> <dependency> <groupId>org.apache.poi</groupId&g

Java -&gt; 把Excel表格中的数据写入数据库与从数据库中读出到本地 (未完善)

写入: private void insertFile(HttpServletRequest request, HttpServletResponse response) throws IOException { String path_member = request.getParameter("path_member"); List list = this.insert("f:/tmp001.xls", "gs_sale_members");

java中使用jxl导出Excel表格详细通用步骤

该方法一般接收两个参数,response和要导出的表格内容的list. 一般我们将数据库的数据查询出来在页面进行展示,根据用户需求,可能需要对页面数据进行导出. 此时只要将展示之前查询所得的数据放入session中备份一份,在调用导出方法时,从session中获取即可, 如果为后台直接导出,直接查询数据库后将结果传入即可,当然也可以在导出Excel方法中查询. 查询方法: // 获取查询结果存入session中        Object resultList = request.getAttr

Element-ui组件库Table表格导出Excel表格--存在重复数据问题

借鉴:https://www.jianshu.com/p/1971fc5b97ca https://blog.csdn.net/qq_40614207/article/details/94003793 贴出代码 // 定义导出Excel表格事件 exportExcel() { // 解决生成重复数据-因为使用l fixed属性 var fix = document.querySelector('.el-table__fixed') var wb // 判断要导出的节点中是否有fixed的表格,如