java导出数据库中Excel表格数据的方法

发布时间 - 2026-01-11 02:53:29    点击率:

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

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

<dependency>
   <groupId>net.sourceforge.jexcelapi</groupId>
   <artifactId>jxl</artifactId>
   <version>2.6.12</version>
 </dependency> 

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

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

4、编写导出Excel的方法:

传入参数:

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

package bp.util;

import java.io.OutputStream;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Field;

import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.VerticalAlignment;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class ExportExcel {

  public final static String exportExcel(String fileName, String[] Title, List listContent,
      HttpServletResponse response) {
    String result = "Excel文件导出成功!";
    try {
      OutputStream os = response.getOutputStream();
      response.reset();
      response.setHeader("Content-disposition",
          "attachment; filename=" + new String(fileName.getBytes("GB2312"), "ISO8859-1"));
      response.setContentType("application/msexcel");
      WritableWorkbook workbook = Workbook.createWorkbook(os);

      WritableSheet sheet = workbook.createSheet("Sheet1", 0);
      jxl.SheetSettings sheetset = sheet.getSettings();
      sheetset.setProtected(false);

      WritableFont BoldFont = new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD);
      WritableCellFormat wcf_center = new WritableCellFormat(BoldFont);
      wcf_center.setBorder(Border.ALL, BorderLineStyle.THIN);
      wcf_center.setVerticalAlignment(VerticalAlignment.CENTRE);
      wcf_center.setAlignment(Alignment.CENTRE);
      wcf_center.setWrap(true);

      for (int i = 0; i < Title.length; i++) {
        sheet.setColumnView(i, 20);
        sheet.addCell(new Label(i, 0, Title[i], wcf_center));
      }
      Field[] fields = null;
      int i = 1;
      for (Object obj : listContent) {
        fields = obj.getClass().getDeclaredFields();
        int j = 0;
        for (Field v : fields) {
          v.setAccessible(true);
          Object va = v.get(obj);
          if (va == null) {
            va = "";
          }
          sheet.addCell(new Label(j, i, va.toString(), wcf_center));
          j++;
        }
        i++;
      }
      workbook.write();
      workbook.close();

    } catch (Exception e) {
      result = "Excel文件导出失败";
      e.printStackTrace();
    }
    return result;
  }
}

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# java  # 导出  # Excel  # Java实现Excel导入导出数据库的方法示例  # java导出数据库的全部表到excel  # Java实现从数据库导出大量数据记录并保存到文件的方法  # Java如何导出数据库中的所有数据表到指定文件夹  # 放在  # 大神  # 数据库中  # 大家多多  # 组里  # 实体类  # lang  # Field  # format  # reflect  # Workbook  # HttpServletResponse  # OutputStream  # io  # import  # http  # servlet  # javax  # public  # WritableWorkbook 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在Windows 2008云服务器安全搭建网站?  如何快速搭建支持数据库操作的智能建站平台?  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  如何在宝塔面板创建新站点?  大连 网站制作,大连天途有线官网?  jQuery 常见小例汇总  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  Laravel distinct去重查询_Laravel Eloquent去重方法  如何在阿里云完成域名注册与建站?  网站图片在线制作软件,怎么在图片上做链接?  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  Laravel如何记录自定义日志?(Log频道配置)  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  教学论文网站制作软件有哪些,写论文用什么软件 ?  活动邀请函制作网站有哪些,活动邀请函文案?  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  C++时间戳转换成日期时间的步骤和示例代码  详解Huffman编码算法之Java实现  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  如何基于云服务器快速搭建个人网站?  Laravel如何使用Collections进行数据处理?(实用方法示例)  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  Java遍历集合的三种方式  潮流网站制作头像软件下载,适合母子的网名有哪些?  Python数据仓库与ETL构建实战_Airflow调度流程详解  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  Python并发异常传播_错误处理解析【教程】  iOS中将个别页面强制横屏其他页面竖屏  EditPlus中的正则表达式 实战(1)  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  如何在服务器上三步完成建站并提升流量?  如何用狗爹虚拟主机快速搭建网站?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  高防服务器:AI智能防御DDoS攻击与数据安全保障  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  高防服务器租用指南:配置选择与快速部署攻略  如何在云指建站中生成FTP站点?  如何在IIS7中新建站点?详细步骤解析  Android GridView 滑动条设置一直显示状态(推荐)  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  什么是JavaScript解构赋值_解构赋值有哪些实用技巧