新手使用POI结合数据库导出Excel文件

使用POI导出数据库的数据到excel文件 首先,我们应该要知道的是,一个Excel文件对应一个workbook,一个workbook中有多个sheet组成,一个sheet是由多个行(row)和列(cell)组成。用maven引入依赖jar包的可能会遇到包引用不到的bug,但是maven依赖确实已经引入了,而且没有任何报错,但是只要一引用 org.apache.poi.hssf.usermodel下面的类。String[] title = {"名称","性别","年龄","学校","班级"};String sheetName = "学生信息表"; 阅读详情

前言


  近日,发现本博客阅读数最高的一篇博客是Java中使用poi导入、导出Excel。这篇博文是早期转载于一位博主,文章讲解的是POI的具体实现。如果想成功运行例子,还需要修改部分代码。另外,没有Servlet的基础,可能会有些吃亏。因此,思索考虑,决定写下这篇博文,供新手学习且想实现Excel导出功能的人。

前期准备


jar:
  poi-3.9.jar   实现Excel导出
  log4j.jar    日志记录
  ojdbc7.jar   oracle数据库连接
  javax.servlet.jar javaee里面的规范
java:
  ExportSearchResultServlet.java 导出Excel类
  DeliveryDao.java       数据库查询类
  DeliverySearchResult.java   数据库查询结果封装类
  ConnectionFactory.java    连接池工厂类
  DateUtil.java         日期格式化类
  Constant.java         封装常量的类
  InitProperties.java       加载配置文件类
jsp:
  export.jsp          导出Excel页面
table:
  ecl_redemption_delivery_master
environment:
  tomcat8.0、oracle、jdk1.8


Tips:考虑到公司部分代码的版权问题,这里一些代码不一一贴出来,还望各位见谅。

代码实现


ExportSearchResultServlet.java

package ecl.delivery.servelt;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.sql.Connection;
import java.text.SimpleDateFormat;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import com.hthk.ffpc.sql.ConnectionFactory;
import com.hthk.ffpc.sql.DataException;
import ecl.delivery.dao.DeliveryDao;
import ecl.delivery.model.DeliverySearchCriteria;
import ecl.delivery.model.DeliverySearchResult;
import ecl.util.Constant;
import ecl.util.DateUtil;
import ecl.util.InitProperties;

public class ExportDeliverySearchResultServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;
    final private static Logger logger = Logger.getLogger(ExportDeliverySearchResultServlet.class);

    SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
    private String[] header = { "Account No",
                            "Contract No",
                            "Circuit No", 
                            };

    public void init() throws ServletException {
    }

    final public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // doPost(request, response);
    }

    final public void doPost(HttpServletRequest req, HttpServletResponse resp) {
        logger.debug("ExportDeliverySearchResultServlet - Start");

        InitProperties ip = new InitProperties();
        //String filePath = ip.getProperties(Constant.STORAGE_PATH);
        String filePath="D://"
        File serverFile = null;

        ServletOutputStream servletOutputStream = null;
        ConnectionFactory connectionFactory = null;
        Connection con = null;

        try {
            connectionFactory = new ConnectionFactory("atoms");
            con = connectionFactory.getConnection();

            HSSFWorkbook wb = new HSSFWorkbook();
            HSSFSheet sheet = wb.createSheet("Result");
            int rowNum = 0;
            HSSFRow row = sheet.createRow(rowNum++);

            int colNumInHeader = 0;
            HSSFCell cell = row.createCell(colNumInHeader);

            final HSSFCellStyle boldStyle = wb.createCellStyle();
            HSSFFont boldFont = wb.createFont();
            boldFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
            boldStyle.setFont(boldFont);
            boldStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);

            final HSSFCellStyle redStyle = wb.createCellStyle();
            {
                HSSFFont font = wb.createFont();
                font.setColor(new HSSFColor.RED().getIndex());
                redStyle.setFont(font);
            }

            final HSSFCellStyle dimStyle = wb.createCellStyle();
            {
                HSSFFont dimFont = wb.createFont();
                dimFont.setColor(new HSSFColor.GREY_40_PERCENT().getIndex());
                dimStyle.setFont(dimFont);
            }

            // Add Header - START
            for (int i = 0; i < header.length; i++) {
                String field = header[i];
                cell = row.createCell(i);
                cell.setCellValue((String) field);
                cell.setCellStyle(boldStyle);
            }
            // Add Header - END

            DeliveryDao dao = new DeliveryDao();
            List<DeliverySearchResult> result = dao.searchResult(con);

            for (int i = 0; i < result.size(); i++) {

                DeliverySearchResult r = (DeliverySearchResult) result.get(i);

                row = sheet.createRow(rowNum++);
                int colNum = 0;
                cell = row.createCell(colNum++);
                cell.setCellValue(r.getAcctNo());

                cell = row.createCell(colNum++);
                cell.setCellValue(r.getContNo());

                cell = row.createCell(colNum++);
                cell.setCellValue(r.getCircNo());
            }

            String today = DateUtil.dateToStr(DateUtil.getToday(), DateUtil.SDF_DMYHMS_RPT_FMT);
            String downloadFileName = "deliveryResult_" + today + ".xls";
            logger.debug("ExportDeliverySearchResultServlet.doPost - downloadFileName=" + downloadFileName);

            servletOutputStream = this.getServletOutputStream(resp, downloadFileName);

            serverFile = new File(filePath + File.separator + downloadFileName);

            this.exportToServer(wb, serverFile);

            this.readFileForDownload(serverFile, servletOutputStream);

        } catch (IOException ex) {
            logger.error("ExportDeliverySearchResultServlet.doPost - IOException:" + ex.toString());
            ex.printStackTrace();
        } catch (Exception ex) {
            logger.error("ExportDeliverySearchResultServlet.doPost - Exception:" + ex.toString());
            ex.printStackTrace();
        } finally {
            if (con != null) {
                try {
                    connectionFactory.finalize();
                } catch (DataException e) {
                    logger.error("ExportDeliverySearchResultServlet.doPost - finally DataException:" + e.toString());
                }
            }
            try {
                if (servletOutputStream != null) {
                    servletOutputStream.flush();
                    servletOutputStream.close();
                }
            } catch (IOException ex) {
                logger.error("ExportDeliverySearchResultServlet.doPost - finally IOException:" + ex.toString());
            }
        }

        logger.debug("ExportDeliverySearchResultServlet - END");
    }

    private ServletOutputStream getServletOutputStream(HttpServletResponse response, String outputFileName)
            throws IOException {
        response.setContentType("application/octet-stream");
        response.setHeader("Content-Disposition", "attachment;filename=" + outputFileName);
        ServletOutputStream sos;
        sos = response.getOutputStream();
        return sos;
    }

    private void exportToServer(HSSFWorkbook wb, File serverFile) {
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream(serverFile);
            wb.write(fos);

        } catch (Exception ex) {
            logger.error("exportToServer Exception ", ex);
        } finally {
            if (fos != null) {
                try {
                    fos.flush();
                    fos.close();
                } catch (IOException ex) {
                    logger.error("exportToServer IOException: ", ex);
                } catch (Exception ex) {
                    logger.error("exportToServer Exception: ", ex);
                }
            }
        }
    }

    public void readFileForDownload(File serverFile, OutputStream outputStream)
            throws FileNotFoundException, IOException {

        FileInputStream fis = null;
        BufferedInputStream bis = null;
        try {
            fis = new FileInputStream(serverFile);
            bis = new BufferedInputStream(fis);

            int intRead = -1;
            while ((intRead = bis.read()) != -1) {
                outputStream.write(intRead);
            }
        } finally {
            if (bis != null) {
                bis.close();
                bis = null;
            }
            if (fis != null) {
                fis.close();
                fis = null;
            }
        }
    }
}

DeliveryDao.java

package ecl.delivery.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
import com.hthk.ffpc.sql.DataException;
import admin.User;
import ecl.delivery.model.DeliverySearchCriteria;
import ecl.delivery.model.DeliverySearchResult;
import ecl.util.StringUtil;

public class DeliveryDao {
    private static final Logger logger = Logger.getLogger(DeliveryDao.class);

    public String nullToEmptyStr(String input) {

        String result = "";

        if (input != null) {
            return input;
        }

        return result;
    }

    public void close(ResultSet rs, Statement statement) {

        try {
            if (rs != null) {
                rs.close();
            }
            if (statement != null) {

                statement.close();

            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }

    public List<DeliverySearchResult> searchResult(Connection con, DeliverySearchCriteria criteria) throws DataException {

        String sql = "";
        ResultSet rs = null;
        PreparedStatement pstm = null;
        int i = 1;
        List<DeliverySearchResult> result = new ArrayList<DeliverySearchResult>();

        sql = " SELECT DELIVERY_ID,"
            + " ACCT_NO,"
            + " CONT_NO,"
            + " CIRC_NO"
            + " FROM ECL_REDEMPTION_DELIVERY_MASTER e";
        try {
            pstm = con.prepareStatement(sql);
            rs = pstm.executeQuery();
            while (rs.next()) {
                DeliverySearchResult r = new DeliverySearchResult();
                r.setDeliveryId(rs.getInt("DELIVERY_ID"));
                r.setAcctNo(rs.getString("ACCT_NO"));
                r.setContNo(rs.getString("CONT_NO"));
                r.setCircNo(rs.getString("CIRC_NO"));
                result.add(r);
            }
        }catch (Exception e) {
            logger.error(e.getMessage(),e);
            throw new DataException(e);
        } finally {
            close(rs,pstm);
        }
        return result;
    }

DeliverySearchResult.java

package ecl.delivery.model;

public class DeliverySearchResult {
    private Integer deliveryId;
    private String acctNo;
    private String contNo;
    private String circNo;

    public DeliverySearchResult() {
        this.deliveryId = 0;
        this.acctNo = "";
        this.contNo = "";
        this.circNo = "";
    }

    public Integer getDeliveryId() {
        return deliveryId;
    }

    public void setDeliveryId(Integer deliveryId) {
        this.deliveryId = deliveryId;
    }

    public String getAcctNo() {
        return acctNo;
    }

    public void setAcctNo(String acctNo) {
        this.acctNo = acctNo;
    }

    public String getContNo() {
        return contNo;
    }

    public void setContNo(String contNo) {
        this.contNo = contNo;
    }

    public String getCircNo() {
        return circNo;
    }

    public void setCircNo(String circNo) {
        this.circNo = circNo;
    }

}

DateUtil.java

package ecl.util;

import java.text.SimpleDateFormat;
import java.util.*;

import org.apache.log4j.Logger;

public class DateUtil {
    private static Logger log = Logger.getLogger(DateUtil.class);
    public static final SimpleDateFormat SDF_DMY = new SimpleDateFormat("dd-MM-yyyy");
    public static final SimpleDateFormat SDF_YMD = new SimpleDateFormat("yyyy-MM-dd");
    public static final SimpleDateFormat SDF_YMDHMS = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    public static final SimpleDateFormat SDF_DMYHMS = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
    public static final SimpleDateFormat SDF_DMYHMS_RPT_FMT = new SimpleDateFormat("ddMMyyyyHHmmss");

    public static Date getToday(){
        Date currDate = new Date();
        try {
            currDate = Calendar.getInstance().getTime();

        } catch (Exception e) {
            log.error("DateUtil.getToday error:"+e.getMessage());
        }
        return currDate; 
    }

    public static String getTodayStr(boolean defaultFormat, String returnFormat){
        String result = "";
        try {
            Date currDate = Calendar.getInstance().getTime();

            if (defaultFormat){
                result = SDF_DMY.format(currDate);
            } else {
                SimpleDateFormat sdf;

                if (StringUtil.isNull(returnFormat)){
                    sdf = SDF_DMY;
                } else {
                    sdf = new SimpleDateFormat(returnFormat);
                }

                result = sdf.format(currDate);
            }
        } catch (Exception e) {
            log.info("DateUtil.getTodayStr defaultFormat:"+defaultFormat);
            log.info("DateUtil.getTodayStr returnFormat:"+returnFormat);
            log.error("DateUtil.getTodayStr error:"+e.getMessage());
        }
        return result;
    }

    public static String dateToStr(Date date, SimpleDateFormat sdf){
        String result = "";
        try {
            if (date != null){
                result = sdf.format(date);
            }
        } catch (Exception e) {
            log.info("DateUtil.dateToStr date:"+date);
            log.error("DateUtil.dateToStr error:"+e.getMessage());
        }
        return result;
    }

    public static String dateToStr(Date date, String format){
        String result = "";
        try {
            if (date != null){
                SimpleDateFormat sdf1 = new SimpleDateFormat(format);
                result = sdf1.format(date);
            }
        } catch (Exception e) {
            log.info("DateUtil.dateToStr format:"+format);
            log.info("DateUtil.dateToStr date:"+date);
            log.error("DateUtil.dateToStr error:"+e.getMessage());
        }
        return result;
    }
}

export.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<%
    String contextPath = request.getContextPath();
%>
<body>
<form  method="post" action="<%=contextPath%>/servlet/ecl.delivery.servelt.ExportDeliverySearchResultServlet">
    <input type="submit" value="Export"/>
</form>
</body>
</html>



演示


这里写图片描述
这里写图片描述

结语


这部分代码如果想连接数据库成功,是不能实现的,如果想实现对数据库的连接,请再看一看有关连接数据库的教程哦。



SSM框架结合Apache POI实现Excel文件导入导出示例 SSM框架,即Spring、SpringMVC和MyBatis的集成,是JavaWeb开发领域的经典组合。它将企业级应用开发中的依赖注入、Web层处理、和数据持久化三大核心功能整合在一起,形成了一个简洁且强大的开发体系。在此节中,我们可以分享一个实际的案例,描述在特定项目中,如何通过整合SSM框架和Apache POI实现Excel数据导入导出的功能。具体包括:项目背景和业务需求采用的整合方案和实现步骤整合过程中遇到的问题和解决方案功能实现后的测试结果和性能评估。 阅读详情

相关推荐

poi log4j excel poi log4j excel poi log4j excel

poi log4j excel poi log4j excel poi log4j excel poi log4j excel poi log4j excel poi log4j excel poi log4j excel

Java项目引入POI后log4j报错-解决办法

引入POI库后,报错“ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...”-解决方法。

weixin_47130880的博客 6214

分布式数据采集框架openclaw-worker:模块化设计与实战指南

数据采集是获取网络信息、实现自动化处理的基础技术,其核心原理是通过模拟HTTP请求从目标源提取结构化数据。在工程实践中,传统单体脚本面临维护困难、扩展性差等挑战。分布式采集架构通过解耦任务定义与执行,结合消息队列实现水平扩展,显著提升了系统的弹性与可靠性。openclaw-worker作为模块化的工作节点,将采集流程配置化,支持CSS选择器、XPath等多种提取规则,并集成请求速率控制、代理IP池等反爬策略,适用于竞品监控、内容聚合等需要高效、稳定获取数据的应用场景。

weixin_28706423的博客 299

在eclipse中使用POI报错ERROR StatusLogger Log4j2 could not find a logging implementation. NoSuchMethodError

查阅各种资料后发现是由于POI的版本过高导致,我使用的eclipse版本是2023-09 (4.29.0),POI版本为5.2.3,可能该版本的eclipse不支持太高版本的POI。改为使用3.6版本的POI后该问题消失。

learnpaisen的博客 1860

数学建模小白必看:层次分析法(AHP)从入门到实战(附Python代码)

本文详细介绍了层次分析法(AHP)在数学建模竞赛中的应用,从构建判断矩阵到一致性检验,再到权重计算和实战案例。通过Python代码实现,帮助小白快速掌握AHP的核心技巧,解决评价类难题,提升建模效率。

web39explorer的博客 918

SAPABAP金色传说:关于导入和导出Excel时反复弹窗提示 SAP GUI安全性问题的解决方法

文章目录前言一、提示的到底是什么?二、关闭SAP GUI安全提示的步骤1.设置位置 前言 如果你在SAP中,经常需要将数据导出Excel,或者使用Excel进行批导数据,那么你对下面这个频繁出现的弹窗提示一定不陌生! 系统试图创建文件 C:\Users\15265\Desktop\EXPORT.XLSX 于目录 C:\Users\15265\Desktop\ 是否要授权修改父目录及其所有子目录? 不管你是不是选的记住我的决定,它必出!就很烦!那如何处理才能关闭呢? 提示:以下是本篇文章正文内容,看完快

Easystudios博客 1万+

java高级过滤器、baseServlet、log4j配置使用poi实现excel导入数据库

这是一个学习的汇总,将学过的小知识点都展现出来。 高级过滤器作用:实现请求对象和相应对象的字符格式处理,兼容Tomcat7.0以下的服务器 数据传输请求: 1、GET:在tomcat7.0时没有对get请求进行优化而8.0进行了优化,在tomcat中的格式为iso-8859-1,数据在地址栏显示 2、POST:数据传输是打包的方式,地址栏不显示 高级过滤器的创建 1、创建过滤器,实现配...

ZhangY1217的博客 523

safetymonitorapi

Summary of SA8653 Safety Monitor API Introduction This document details Safety Monitor APIs for the SA8653 QNNX platform, covering dual interfaces of APSS and SAIL. It defines core data structures and enumerations for subsystems, fault severity and health

qq_39257814的博客 1588

log4j杂谈

1.Log4j appender输出类型配置 org.apache.log4j.ConsoleAppender(控制台), org.apache.log4j.FileAppender(文件), org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件), org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的...

qq_41603209的博客 295

5.17华为OD机试真题 新系统 - 输出二叉树后序遍历结果 (Java/Py/C/C++/Js/Go)

5.17华为OD机试真题 新系统 - 输出二叉树后序遍历结果 (Java/Py/C/C++/Js/Go)

算法大师! 518

C#对接EtherNet/IP协议 完整版|罗克韦尔AB PLC通信+CIP核心概念全解析

你做罗克韦尔(AB) PLC工业上位机开发,是唯一的首选协议,没有之一!EtherNet/IP(Ethernet Industrial Protocol)是基于标准以太网的工业级通信协议,由罗克韦尔自动化主导开发,是ODVA(开放设备网络供应商协会)主推的工业以太网标准,也是目前全球应用最广泛的工业以太网协议之一。原生适配罗克韦尔AB PLC:Micro800、CompactLogix、ControlLogix、Micro850等全系AB PLC原生标配EtherNet/IP,无需额外配置,开箱即用;

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 892

Java中使用POI导出excel文件

Java中使用POI导出excel文件前言需要的jar包上代码使用JDBC连接数据库获取导出的数据MySQL数据库表结构实体类代码DBHelper连接MySQL数据库数据操作Dao类导出excel文件的工具类代码运行测试代码运行结果总结 前言 在系统开发中最常用的功能就是列表数据的导出了,Java中常用的方法是用apache的POI进行操作的,现在我们就一起来学习下POI导出excel文件的基本用法。 需要的jar包 上代码 使用JDBC连接数据库获取导出的数据 MySQL数据库表结构 实体类代码 pa

weixin_42522705的博客 1万+

高德地图API如何使用

通过以上步骤,您可以成功接入并使用高德地图API来为您的应用添加丰富的地图功能。

QQ_778132974的博客 4785

Java使用POI导出Excel

不管是Web开发还是桌面开发,对办公软件的操作是常有的需求,如对微软Excel电子表格的操作,经常需要对一些数据导出到Excel文件,或将一个Excel文件的数据读取到数据库。在java操作Excel可以使用POI组件或JXL组件。 POI全称PoorObfuscation Implementation ,是Apache组件的一个开源项目,可以对微软的Office一系列办公软件进行读写操作。 ......

田野上的风筝 5万+

Transformer大模型实战 文本摘要任务

Transformer, 文本摘要, 自然语言处理, 预训练模型, 序列到序列, BERT, BART, T5 1. 背景介绍 文本摘要任务是自然语言处理 (NLP) 领域的重要研究方向之一,旨在从长篇文本中提取关键信息,生成简洁、准确的摘要。随着深度学习技术的快速发展,基于 Tra

AI大模型应用之禅 1340

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Java POI导入导出Excel文件

Java POI Excel导入导出Excel文件 一、导入pom文件(版本号一定要相同,不然会报错) <!--读取excel文件--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi&l...

码农新锐 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

poi实现Excel文件导出【SpringBoot篇】

在系统中,数据库的excel文件导出是一项及为基础的功能。此篇文章将通过实例利用poi实现excel文件导出。

CO_LA_的博客 8849

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

java使用Poi导出excel表格

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)、博主微信(guyun297890152)、QQ技术交流群(183198395)。 在之前的一篇文章java操作Excel实战干货中展示了使用poi库读取excel表格的的用法,今天演示另一个常用功能,将数据导出到excel中,按照实战演练方式,后台提供接口,数据来源于数据库,然后导出excel输...

孤云博客 5416

使用POI组件导出Excel文件

在使用Java进行日常开发的时候,经常需要导出一些文件。其中Excel文件是最常见的一种导出格式,Java中可导出Excel的组件有很多种,这儿我详细介绍其中一种——POI POI POI由Apache公司开发,可到Apache官网直接下载POI的压缩包 POI压缩包下载 下载后解压,将我们需要的jar包放进我们项目的lib文件中,即可在项目中使用POI组件的功能 导出Excel 进行Excel...

weixin_44582716的博客 2262

java poi导出树形结构到excel文件

maven pom.xml下载poi包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <depe

yangzongzhuan的专栏 4715

POI导出EXCEL经典实现

在web开发中,有一个经典的功能,就是数据的导入导出。特别是数据的导出,在生产管理或者财务系统中用的非常普遍,因为这些系统经常要做一些报表打印的工作。而数据导出的格式一般是EXCEL或者PDF,我这里就用两篇文章分别给大家介绍下。(注意,我们这里说的数据导出可不是数据库中的数据导出!么误会啦^_^) 呵呵,首先我们来导出EXCEL格式的文件吧。现在主流的操作Excel文件的开源工具有很多,

走向架构师之路 3万+

POI导入导出Excel

结构:HSSF- 提供读写Microsoft Excel XLS格式档案的功能。XSSF- 提供读写Microsoft Excel OOXML XLSX格式档案的功能。HWPF- 提供读写Word(97-2003) 的 Java 组件,XWPF是 POI 支持 Word 2007+ 的 Java组件,提供简单文件的读写功能;HSLF- 提供读写Microsoft PowerPoint格式档案的功能。HDGF - 提供读Microsoft Visio格式档案的功能。

mx132465的博客 4779

Java 使用 poi 导出Excel 源码完整示例

import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.springframework.util.CollectionUtils; import org.springframework.

AI天才研究院 9110

使用POI将数据库导出为excel表格

使用POI将数据库导出为excel表格 准备 使用的是POI,是Apache项目,目前已经很少有人用jxl了,学就学习常用的东西,没有必要去学冷门. 数据库 <!--操作xls类型文件--> <dependency> <groupId>org.apache.poi</groupId> ...

sqlgao22的博客 1006

java技术--POI导出Excel(将数据库数据导出为Excel)

1.将数据有Excel导入数据库或者将数据库数据导入Excel,作为业务常用需求。 2.实现的方式主要有三种技术:POI,JXL,FASTExcel,这里对比前两种 (1)JXL:优缺点 <1>操作简单,效率低,部分支持 <2>可以修饰单元格属性,格式支持没有POI强大 <3>支持字体,数字,日期操作 (2)POI:优缺点 <1>效率高,操作相对复杂...

qq591009234的博客 2547
上一篇: Eclipse启动闪屏
下一篇: Gradle安装配置
CZ__
博客等级 码龄9年 97粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值