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


相关推荐: 微信小程序 闭包写法详细介绍  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  如何在腾讯云免费申请建站?  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  网站建设整体流程解析,建站其实很容易!  大连网站制作公司哪家好一点,大连买房网站哪个好?  高防服务器租用如何选择配置与防御等级?  Swift中switch语句区间和元组模式匹配  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  jquery插件bootstrapValidator表单验证详解  教学论文网站制作软件有哪些,写论文用什么软件 ?  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  如何在局域网内绑定自建网站域名?  如何在服务器上配置二级域名建站?  大型企业网站制作流程,做网站需要注册公司吗?  EditPlus 正则表达式 实战(3)  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  JS经典正则表达式笔试题汇总  如何为不同团队 ID 动态生成多个“认领值班”按钮  文字头像制作网站推荐软件,醒图能自动配文字吗?  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  如何快速上传建站程序避免常见错误?  javascript中闭包概念与用法深入理解  Python并发异常传播_错误处理解析【教程】  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  Angular 表单中正确绑定输入值以确保提交与验证正常工作  Laravel如何集成Inertia.js与Vue/React?(安装配置)  如何快速打造个性化非模板自助建站?  Laravel如何记录自定义日志?(Log频道配置)  做企业网站制作流程,企业网站制作基本流程有哪些?  javascript日期怎么处理_如何格式化输出  C#如何调用原生C++ COM对象详解  Python制作简易注册登录系统  如何批量查询域名的建站时间记录?  如何在阿里云完成域名注册与建站?  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  详解Android中Activity的四大启动模式实验简述  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  详解Oracle修改字段类型方法总结  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  Laravel如何实现用户密码重置功能?(完整流程代码)