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怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  常州企业网站制作公司,全国继续教育网怎么登录?  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  香港服务器网站卡顿?如何解决网络延迟与负载问题?  如何在Windows服务器上快速搭建网站?  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何快速搭建高效WAP手机网站吸引移动用户?  Laravel如何使用Blade模板引擎?(完整语法和示例)  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  Android Socket接口实现即时通讯实例代码  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  如何在服务器上三步完成建站并提升流量?  敲碗10年!Mac系列传将迎来「触控与联网」双革新  JavaScript中的标签模板是什么_它如何扩展字符串功能  如何快速辨别茅台真假?关键步骤解析  在centOS 7安装mysql 5.7的详细教程  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  javascript如何操作浏览器历史记录_怎样实现无刷新导航  Java垃圾回收器的方法和原理总结  打造顶配客厅影院,这份100寸电视推荐名单请查收  如何在Windows环境下新建FTP站点并设置权限?  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  详解vue.js组件化开发实践  网站制作免费,什么网站能看正片电影?  Laravel如何处理异常和错误?(Handler示例)  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  Laravel如何与Inertia.js和Vue/React构建现代单页应用  Laravel如何配置Horizon来管理队列?(安装和使用)  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  Android利用动画实现背景逐渐变暗  音乐网站服务器如何优化API响应速度?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  如何用免费手机建站系统零基础打造专业网站?  高防服务器租用首荐平台,企业级优惠套餐快速部署  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  如何在阿里云服务器自主搭建网站?  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  Linux系统命令中screen命令详解  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  浅谈redis在项目中的应用  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  如何用JavaScript实现文本编辑器_光标和选区怎么处理  高防服务器租用指南:配置选择与快速部署攻略