热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

java使用poi导出Excel的方法

本文实例为大家分享了java使用poi导出Excel的具体代码,供大家参考,具体内容如下 package hyss.util.co

本文实例为大家分享了java使用poi导出Excel的具体代码,供大家参考,具体内容如下

package hyss.util.common;

import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;

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.HSSFRichTextString;
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 org.apache.poi.ss.util.CellRangeAddress;

/**
 * Excel导出工具类
 * @author ts
 */

public class ExportExcelUtil {
 //显示的导出表的标题
 private String title;
 //导出表的列名
 private String[] rowName ;
 
 private List dataList = new ArrayList();
 
// HttpServletResponse response;
 
 //构造方法,传入要导出的数据
 public ExportExcelUtil(String title,String[] rowName,List dataList){
  this.dataList = dataList;
  this.rowName = rowName;
  this.title = title;
 }
   
 /*
  * 导出数据
  * */
 public void export() throws Exception{
  try{
   HSSFWorkbook workbook = new HSSFWorkbook();      // 创建工作簿对象
   HSSFSheet sheet = workbook.createSheet(title);      // 创建工作表
   
   // 产生表格标题行
   HSSFRow rowm = sheet.createRow(0);
   HSSFCell cellTiltle = rowm.createCell(0);
   rowm.setHeightInPoints(25);           //设置标题行默认行高
   
   //sheet样式定义【getColumnTopStyle()/getStyle()均为自定义方法 - 在下面 - 可扩展】
   HSSFCellStyle columnTitleStyle = this.getTitleTopStyle(workbook);//获取标题行样式
   HSSFCellStyle columnTopStyle = this.getColumnTopStyle(workbook); //获取列头样式对象
   HSSFCellStyle style = this.getStyle(workbook);     //单元格样式对象
   
   sheet.addMergedRegion(new CellRangeAddress(0, 1, 0, (rowName.length-1))); 
   cellTiltle.setCellStyle(columnTitleStyle);
   cellTiltle.setCellValue(title);
   
   // 定义所需列数
   int columnNum = rowName.length;
   HSSFRow rowRowName = sheet.createRow(2);    // 在索引2的位置创建行(最顶端的行开始的第二行)
   rowRowName.setHeightInPoints(25);       //将列头设置默认行高
   // 将列头设置到sheet的单元格中
   for(int n=0;n

实现方法

/*
* 实现方法
*/
public void exportExcel() throws Exception{
  String title = "测试";
  String[] rowsName = new String[]{"序号","列头1","列头2","列头3","列头4","列头5"};
  List dataList = new ArrayList();
  Object[] objs = null;
  for (int i = 0; i <10; i++) {
   objs = new Object[rowsName.length];
   objs[0] = i;
   objs[1] = "测试1";
   objs[2] = "测试2";
   objs[3] = "测试3";
   objs[4] = "测试4";
   objs[5] = "测试5";
   dataList.add(objs);
  }
  ExportExcelUtil ex = new ExportExcelUtil(title, rowsName, dataList);
  ex.export();
  
 }

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


推荐阅读
  • 华为云openEuler环境下的Web应用部署实践
    本文详细记录了在华为云openEuler系统上进行Web应用部署的具体步骤,包括配置yum源、安装Apache、MariaDB、PHP及其相关组件,并完成WordPress的安装与配置过程。 ... [详细]
  • 一键LNMP配置SSL证书实现全站HTTPS访问
    许多网站搭建者选择了便捷的一键LNMP安装包,但在网站部署完成后,配置SSL证书以支持HTTPS访问是一个不可或缺的步骤。本文将详细介绍如何通过简单的步骤完成这一过程。 ... [详细]
  • 本文介绍如何使用 Arcade 库在 Python 中绘制太阳,包括环境配置、基础图形绘制方法及具体代码示例。 ... [详细]
  • 详解MyBatis二级缓存的启用与配置
    本文深入探讨了MyBatis二级缓存的启用方法及其配置细节,通过具体的代码实例进行说明,有助于开发者更好地理解和应用这一特性,提升应用程序的性能。 ... [详细]
  • 本文详细介绍了如何在本地环境中安装配置Frida及其服务器组件,以及如何通过Frida进行基本的应用程序动态分析,包括获取应用版本和加载的类信息。 ... [详细]
  • 本作业探讨了矩阵链乘法的问题,包括问题定义、解析过程、算法设计思路及性能分析。通过将矩阵链分解为多个子问题,旨在找到最小化基本运算次数的方法。 ... [详细]
  • 本文介绍了一道来自LeetCode的编程题——拼写单词。题目要求从给定的词汇表中找出可以由指定字母表中的字母拼写出的单词,并计算这些单词的总长度。文章将展示如何通过使用数组替代哈希表来提高算法的执行效率。 ... [详细]
  • CSS模块化命名 ... [详细]
  • 解决宝塔面板Nginx反向代理缓存问题
    本文介绍如何在宝塔控制面板中通过编辑Nginx配置文件来解决反向代理中的缓存问题,确保每次请求都能从服务器获取最新的数据。 ... [详细]
  • 本文介绍了两个重要的Node.js库——cache-content-type和mime-types,它们在处理HTTP响应头时非常有用。cache-content-type是基于mime-types构建的,并且实现了缓存机制以提高性能。 ... [详细]
  • CentOS 7 实验记录:解决磁盘故障案例分析
    本文详细记录了一次在 CentOS 7 系统上遇到的磁盘故障处理过程,主要探讨了因额外磁盘缺失但 fstab 文件中仍保留其挂载配置而导致的问题,并提供了具体的解决方案。 ... [详细]
  • 本文转载自某知名技术博客,作者对市场上一些低质量电脑进行了深入分析,指出这些设备存在的问题及其可能带来的影响。 ... [详细]
  • 本文详细介绍了如何使用 Python 编程语言中的 Scapy 库执行 DNS 欺骗攻击,包括必要的软件安装、攻击流程及代码示例。 ... [详细]
  • 子网掩码主要用于区分IP地址中的网络部分和主机部分,它是网络配置中不可或缺的一部分,需要与IP地址配合使用。 ... [详细]
  • 为帮助编程爱好者更好地掌握Python和Go语言的核心技能,我们特别提供两本精选图书的免费赠阅机会。《易懂的Python算法指南》适合所有希望提高算法理解能力的读者,《Go语言编程从入门到精通》则面向对Go语言感兴趣的初学者及有一定基础的开发者。 ... [详细]
author-avatar
手机用户2602918323
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有