iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >java实现的导出Excel工具类实例
  • 919
分享到

java实现的导出Excel工具类实例

javaexcelava 2023-05-31 01:05:54 919人浏览 八月长安
摘要

本文实例讲述了java实现的导出excel工具类。分享给大家供大家参考,具体如下:ExcelExportUtil:package com.excel;import java.io.FileOutputStream;import java.i

本文实例讲述了java实现的导出excel工具类。分享给大家供大家参考,具体如下:

ExcelExportUtil:

package com.excel;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.util.HashSet;import java.util.Map;import java.util.Set;import java.util.regex.Pattern;import jxl.Workbook;import jxl.write.Label;import jxl.write.Number;import jxl.write.NumberFORMat;import jxl.write.WritableCellFormat;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;import jxl.write.WriteException;import jxl.write.biff.RowsExceededException;public class ExcelExportUtil {    public ExcelExportUtil() {  }    public void export(String sheetName, NumberFormat nf, String[][] content,      String[] mergeInfo, OutputStream os, String row, String col) {    if (VerifyUtil.isNullObject(content, os) || VerifyUtil.isNull2DArray(content)) {      return;    }    // 默认名称    if (VerifyUtil.isNullObject(sheetName)) {      sheetName = "sheet1";    }    Set<Integer> rows = this.getInfo(row);    Set<Integer> cols = this.getInfo(col);    WritableWorkbook workbook = null;    try {      workbook = Workbook.createWorkbook(os);      WritableSheet sheet = workbook.createSheet(sheetName, 0);      for (int i = 0; i < content.length; i++) {        for (int j = 0; j < content[i].length; j++) {          if (content[i][j] == null) {            content[i][j] = "";          }          if (isNumber(content[i][j]) && !rows.contains(i)              && !cols.contains(j)) {// 处理数字            Number number = null;            if (VerifyUtil.isNullObject(nf)) {// 数字无格式              number = new Number(j, i,                  Double.valueOf(content[i][j]));            } else {// 如果有格式,按格式生成              jxl.write.WritableCellFormat wcfn = new jxl.write.WritableCellFormat(                  nf);              number = new Number(j, i,                  Double.valueOf(content[i][j]), wcfn);            }            sheet.addCell(number);          } else {// 处理非数字            WritableCellFormat format = new WritableCellFormat();            if (rows.contains(i) || cols.contains(j)) {              format.setAlignment(jxl.format.Alignment.CENTRE);            } else {              format.setAlignment(jxl.format.Alignment.LEFT);            }            format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);            Label label = new Label(j, i, content[i][j], format);            sheet.addCell(label);          }        }      }      this.merge(sheet, mergeInfo);      workbook.write();    } catch (Exception e) {      e.printStackTrace();    } finally {      try {        workbook.close();        os.close();      } catch (WriteException e) {        // TODO Auto-generated catch block        e.printStackTrace();      } catch (IOException e) {        // TODO Auto-generated catch block        e.printStackTrace();      }    }  }    public void exportFormatExcel(String[][] content, String sheetName,      OutputStream os) {    if (VerifyUtil.isNullObject(content, os) || VerifyUtil.isNull2DArray(content)) {      return;    }    // 默认名称    if (VerifyUtil.isNullObject(sheetName)) {      sheetName = "sheet1";    }    WritableWorkbook workbook = null;    try {      workbook = Workbook.createWorkbook(os);      WritableSheet sheet = workbook.createSheet(sheetName, 0);      for (int i = 0; i < content.length; i++) {        for (int j = 0; j < content[i].length; j++) {          if (content[i][j] == null) {            content[i][j] = "";          }          WritableCellFormat format = new WritableCellFormat();          format.setAlignment(jxl.format.Alignment.LEFT);          format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);          Label label = new Label(j, i, content[i][j], format);          sheet.addCell(label);        }      }      workbook.write();    } catch (Exception e) {      e.printStackTrace();    } finally {      try {        workbook.close();      } catch (WriteException e) {        // TODO Auto-generated catch block        e.printStackTrace();      } catch (IOException e) {        // TODO Auto-generated catch block        e.printStackTrace();      }    }  }    public void exportFormatExcel(Map<String, String[][]> content,      String[] salary_name_array, String sheetName, OutputStream os)       {    if (VerifyUtil.isNullObject(content, os) || content.size() == 0) {      return;    }    // 默认名称    if (VerifyUtil.isNullObject(sheetName)) {      sheetName = "sheet1";    }    WritableWorkbook workbook = null;    try {      workbook = Workbook.createWorkbook(os);      WritableSheet sheet = workbook.createSheet(sheetName, 0);      int index = 0;      for (int k = 0; k < salary_name_array.length; k++) {        String[][] value = (String[][]) content            .get(salary_name_array[k]);        if (value != null && value.length > 0) {          if (index != 0) {            index++;          }          WritableCellFormat format1 = new WritableCellFormat();          format1.setAlignment(jxl.format.Alignment.LEFT);          format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);          Label label1 = new Label(0, index, salary_name_array[k],              format1);          sheet.addCell(label1);          for (int i = 0; i < value.length; i++) {            index++;            for (int j = 0; j < value[i].length; j++) {              if (value[i][j] == null) {                value[i][j] = "";              }              WritableCellFormat format = new WritableCellFormat();              format.setAlignment(jxl.format.Alignment.LEFT);              format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);              Label label = new Label(j, index, value[i][j],                  format);              sheet.addCell(label);            }          }        }      }      workbook.write();    } catch (Exception e) {      e.printStackTrace();    } finally {      try {        workbook.close();      } catch (WriteException e) {        // TODO Auto-generated catch block        e.printStackTrace();      } catch (IOException e) {        // TODO Auto-generated catch block        e.printStackTrace();      }    }  }    private void merge(WritableSheet sheet, String[] mergeInfo)      throws RowsExceededException, NumberFormatException, WriteException {    if (VerifyUtil.isNullObject(sheet) || VerifyUtil.isNull1DArray(mergeInfo)) {      return;    } else if (!this.isMergeInfo(mergeInfo)) {      return;    } else {      for (String str : mergeInfo) {        String[] temp = str.split(",");        sheet.mergeCells(Integer.parseInt(temp[1]),            Integer.parseInt(temp[0]), Integer.parseInt(temp[3]),            Integer.parseInt(temp[2]));      }    }  }    private Set<Integer> getInfo(String indexes) {    Set<Integer> set = new HashSet<Integer>();    if (VerifyUtil.isNullObject(indexes)) {      return set;    }    String[] temp = indexes.split(",", 0);    for (String str : temp) {      if (isNumeric(str)) {        set.add(Integer.parseInt(str));      }    }    return set;  }    private boolean isNumeric(String str) {    if (VerifyUtil.isNullObject(str)) {      return false;    }    Pattern pattern = Pattern.compile("[0-9]*");    return pattern.matcher(str).matches();  }    private boolean isNumber(String number) {    // 判断参数    if (VerifyUtil.isNullObject(number)) {      return false;    }    // 查看是否有小数点    int index = number.indexOf(".");    if (index < 0) {      return isNumeric(number);    } else {      // 如果有多个".",则不是数字      if (number.indexOf(".") != number.lastIndexOf(".")) {        return false;      }      String num1 = number.substring(0, index);      String num2 = number.substring(index + 1);      return isNumeric(num1) && isNumeric(num2);    }  }    private boolean isMergeInfo(String[] mergeInfo) {    if (VerifyUtil.isNull1DArray(mergeInfo)) {      return false;    } else {      for (String str : mergeInfo) {        String[] temp = str.split(",");        if (VerifyUtil.isNull1DArray(temp) || temp.length != 4) {          return false;        } else {          for (String s : temp) {            if (!isNumeric(s)) {              return false;            }          }        }      }    }    return true;  }  public static void main(String[] args) {    ExcelExportUtil ee = new ExcelExportUtil();    String[][] content = new String[][] { { "", "第一列", null, "第三列" },        { "第一行", "aa", "2.00", "22" }, { "第二行", "bb", "3.01", "32" },        { "第三行", "cc", "4.00", "41" } };    try {      OutputStream os = new FileOutputStream("D:/test2.xls");      // ee.export(null,null, content,null, os);      ee.export(null, null, content,          new String[] { "0,1,0,2", "1,0,3,0" }, os, "0,1", "0");    } catch (Exception e) {      // TODO Auto-generated catch block      e.printStackTrace();    }  }}

--结束END--

本文标题: java实现的导出Excel工具类实例

本文链接: https://www.lsjlt.com/news/222704.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java实现的导出Excel工具类实例
    本文实例讲述了java实现的导出Excel工具类。分享给大家供大家参考,具体如下:ExcelExportUtil:package com.excel;import java.io.FileOutputStream;import java.i...
    99+
    2023-05-31
    java excel ava
  • Java导出Excel通用工具类实例代码
    目录一、概述二、项目实现1、构建pom.xml2、编写ExportExcelUtil类3、创建Student类4、创建测试类TestExportExcelUtil5、测试三、项目扩展...
    99+
    2024-04-02
  • Java利用Reflect实现封装Excel导出工具类
    目录定义ExcelExportEnum定义导出方法校验入参利用java反射获取Service中的所有method提取method中的入参对象,获取其Class传入参数,调用导出方法注...
    99+
    2022-11-13
    Java Reflect封装Excel导出工具类 Java Excel导出 Java Reflect
  • Java使用excel工具类导出对象功能示例
    本文实例讲述了Java使用excel工具类导出对象功能。分享给大家供大家参考,具体如下:package com.gcloud.common;import org.apache.poi.ss.usermodel.Cell;import org...
    99+
    2023-05-30
    java excel 工具类
  • 怎么在Java中导出Excel通用工具类
    今天就跟大家聊聊有关怎么在Java中导出Excel通用工具类,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、构建pom.xml我们的工程是利用Maven来构建的,项目具体搭建过程大...
    99+
    2023-06-14
  • Java实现导出Excel功能
    文章参考《Qt5开发及实例(第4版)》陆文周 主编 一、建立Qt工程 1、选择类别 2、建立项目名称 3、选择Qt基类及修改名称 4、选择编译器(这边两个都选择,生成两个Deb...
    99+
    2024-04-02
  • Java+element实现excel的导入和导出
    目录一、上传excel前端代码二、上传excel后端代码三、下载excel前端代码四、下载excel后端代码本项目是前端vue3,后端springboot开发 需求为:前端导入表格,...
    99+
    2023-05-16
    Java element excel导入和导出 Java excel导入 Java excel导出
  • 使用Java导入、导出excel详解(附有封装好的工具类)
    😜作           者:是江迪呀✒️本文关键词:Java、Excel、导出、工具类、后端☀️每日   一言:有些事情不是对的才去坚持,而是坚持了它才是对的! 前言 我们在日常开发中,一定遇到过要将数据导出为Exc...
    99+
    2023-08-18
    java excel 开发语言
  • Java用POI导入导出Excel实例分析
    1、异常java.lang.NoClassDefFoundError: org/apache/poi/UnsupportedFileFormatException 解决方法: 使用的...
    99+
    2024-04-02
  • 在java poi导入Excel通用工具类示例详解
    前言本文主要给大家介绍了关于java poi导入Excel通用工具类的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。问题引入和分析提示:如果不想看罗嗦的文章,可以直接到最后点击源码下载运行即可最近在做一个导入Ex...
    99+
    2023-05-31
    java poi excel通用工具类
  • JavaHutool工具实现验证码生成及Excel文件的导入和导出
    目录1、Hutool工具简介2、Hutool的相关依赖3、验证码工具4、excel工具1、Hutool工具简介 HuTool工具(糊涂工具),第三方插件工具,简化操作,是国产的一个产...
    99+
    2024-04-02
  • JavaScript实现导入导出excel的示例代码
    目录Excel导入实现方式1实现方式2Excel导出Excel导入 先下包(xlsx) npm i xlsx 把数组里面中文的键修改成英文的键: 原因:因为中文的键后台不认识,只能修...
    99+
    2024-04-02
  • vue实现excel表格的导入导出的示例
    目录一、下载xlsx插件二、通过element-ui组件的upload组件上传文件三、把选择的Excel文件把文件内容转化为二进制四、通过插件中的xlsx.read()读取二进制数据...
    99+
    2023-05-15
    vue excel导入导出 vue excel导入 vue excel导出
  • 怎么用Java Hutool工具实现验证码生成及Excel文件的导入和导出
    这篇文章主要介绍“怎么用Java Hutool工具实现验证码生成及Excel文件的导入和导出”,在日常操作中,相信很多人在怎么用Java Hutool工具实现验证码生成及Excel文件的导入和导出问题上存在疑惑,小编查阅...
    99+
    2023-06-21
  • java如何实现Excel的导入、导出操作
    这篇文章主要为大家展示了java如何实现Excel的导入、导出操作,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。一、Excel的导入导入可采用两种方式,一种是JXL,另一种是POI,但前者不能...
    99+
    2023-05-31
    java excel
  • java实现excel的导出之使用easyExcel
    前言 在我们的项目需求中,经常会遇到导出的需求,其中excel的导出最为常见。生成Excel比较有名的框架有Apache poi,jxl等,但他们都存在一个严重的问题就是非常的耗内存,如果你的系统并发量不大的话可能还行,但是一旦并发上来后一...
    99+
    2023-08-18
    java excel 开发语言
  • Java怎么实现Excel导入导出操作
    今天小编给大家分享一下Java怎么实现Excel导入导出操作的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. 功能测试1....
    99+
    2023-06-29
  • Java实现Excel导入导出操作详解
    目录前言1. 功能测试1.1 测试准备1.2 数据导入1.2.1 导入解析为JSON1.2.2 导入解析为对象(基础)1.2.3 导入解析为对象(字段自动映射)1.2.4 ...
    99+
    2024-04-02
  • Java如何实现导出Excel功能
    这篇文章将为大家详细讲解有关Java如何实现导出Excel功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。刚写了个导入Excel表格,现在来写个导出,其实形式都差不多,废话不多说,贴代码&...
    99+
    2023-06-21
  • JAVA怎么实现导出Excel功能
    Java可以通过使用Apache POI库来实现导出Excel功能。下面是一个简单的示例代码:```javaimport org.a...
    99+
    2023-10-08
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作