iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java使用excel工具类导出对象功能示例
  • 870
分享到

Java使用excel工具类导出对象功能示例

javaexcel工具类 2023-05-30 23:05:19 870人浏览 八月长安
摘要

本文实例讲述了Java使用excel工具类导出对象功能。分享给大家供大家参考,具体如下:package com.GCloud.common;import org.apache.poi.ss.usermodel.Cell;import org

本文实例讲述了Java使用excel工具类导出对象功能。分享给大家供大家参考,具体如下:

package com.GCloud.common;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.Row;import org.apache.poi.ss.usermodel.Sheet;import org.apache.poi.xssf.streaming.SXSSFSheet;import org.apache.poi.xssf.streaming.SXSSFWorkbook;import java.io.FileOutputStream;import java.lang.reflect.Method;import java.util.ArrayList;import java.util.List;public class ExcelExportUtil {  // 1、定义工作表  private SXSSFWorkbook workbook;  // 2、定义sheet  private Sheet sheet;  // 3、定义保存在内存中的数量,-1表示手动控制  private int flushRows;    private int rowNum;    private int colNum;    private String filePath;    private String fileWEBPath;    private String filePrefix;    private String fileAllPath;    private List<String> fieldNames;    private List<String> fieldCodes;  //---构造方法-----------------------------------------  public ExcelExportUtil() {  }  public ExcelExportUtil(SXSSFWorkbook workbook) {    this.workbook = workbook;  }  public static ExcelExportUtil start(String filePath, String fileWebPath, String filePrefix, List<String> fieldNames, List<String> fieldCodes, int flushRows) throws Exception {    ExcelExportUtil excelExportUtil = new ExcelExportUtil();    excelExportUtil.setFilePath(filePath);    excelExportUtil.setFileWebPath(fileWebPath);    excelExportUtil.setFilePrefix(filePrefix);    excelExportUtil.setFieldNames(fieldNames);    excelExportUtil.setFieldCodes(fieldCodes);    //设置输出行数    excelExportUtil.setWorkbook(new SXSSFWorkbook(flushRows));    //设置sheet    excelExportUtil.setSheet(excelExportUtil.getWorkbook().createSheet());    excelExportUtil.writeTitles();    return excelExportUtil;  }    public void writeTitles() throws Exception {    rowNum = 0;    colNum = fieldNames.size();    //创建行    Row row = sheet.createRow(rowNum);    //在每列第一行输出标题    for (int i = 0; i < colNum; i++) {      Cell cell = row.createCell(i);      cell.setCellValue(fieldNames.get(i));    }  }    public void writeDatas(List datalist) throws Exception {    for (int i = 0; i < datalist.size(); i++) {      rowNum++;      //不断创建行      Row row = sheet.createRow(rowNum);      for (int j = 0; j < fieldCodes.size(); j++) {        Object obj = datalist.get(j);        //获得get方法返回的值        Object value = invokeMethod(obj, fieldCodes.get(j), new Object[]{});        Cell cell = row.createCell(j);        cell.setCellValue(value != null ? value.toString() : "");      }    }  }    private Object invokeMethod(Object owner, String fieldname, Object[] args) throws Exception {    String methodName = "get" + fieldname.substring(0,1).toUpperCase() + fieldname.substring(1);    Class ownerClass = owner.getClass();    Class[] argsClass = new Class[args.length];    for (int i = 0, j = argsClass.length ; i <j ; i++) {      argsClass[i] = args[i].getClass();    }    Method method = ownerClass.getMethod(methodName, argsClass);    return method.invoke(owner, args);  }    public void writeDatasByStr(List<String> datalist) throws Exception {    rowNum++;    Row row = sheet.createRow(rowNum);    int dataSize = datalist.size();    for (int i = 0; i < colNum; i++) {      Cell cell = row.createCell(i);      cell.setCellValue(dataSize > i ? datalist.get(i) : "");    }  }    public void flush(int flushNum) throws Exception{    ((SXSSFSheet)sheet).flushRows(flushNum);  }    public String exportFile() throws Exception{    String fileName = filePrefix + "_" + DateUtil.getCurrentTimeFileName() + ".xlsx";    FileOutputStream fos = new FileOutputStream(filePath + fileName);    workbook.write(fos);    fos.close();    setFileAllPath(fileWebPath + fileName);    return fileWebPath + fileName;  }    public ExcelExportUtil excelExport(String field,String path,String webpath,String filePrefix,List datas,int flushRows) throws Exception{    //导出字段代码和名称    String[] fieldArr = field.split(",");    //获取导出字段名称    List<String> fieldNames = new ArrayList<String>();    //获取导出字段代码    List<String> fieldCodes = new ArrayList<String>();    for (int i = 0; i < fieldArr.length; i++) {      String names = fieldArr[i];      String[] nameArr = names.split("#");      fieldNames.add(nameArr[1]);      fieldCodes.add(nameArr[0]);    }    //开导出    ExcelExportUtil exportUtil = ExcelExportUtil.start(path, webpath,filePrefix, fieldNames,fieldCodes, flushRows);    //导数据    exportUtil.writeDatas(datas);    exportUtil.exportFile();    return exportUtil;  }  public static void main(String[] args) {    //使用方法,调用    //excelExport  }  //----get set-------------------------------------------------  public SXSSFWorkbook getWorkbook() {    return workbook;  }  public void setWorkbook(SXSSFWorkbook workbook) {    this.workbook = workbook;  }  public Sheet getSheet() {    return sheet;  }  public void setSheet(Sheet sheet) {    this.sheet = sheet;  }  public int getFlushRows() {    return flushRows;  }  public void setFlushRows(int flushRows) {    this.flushRows = flushRows;  }  public int getRowNum() {    return rowNum;  }  public void setRowNum(int rowNum) {    this.rowNum = rowNum;  }  public int getColNum() {    return colNum;  }  public void setColNum(int colNum) {    this.colNum = colNum;  }  public String getFilePath() {    return filePath;  }  public void setFilePath(String filePath) {    this.filePath = filePath;  }  public String getFileWebPath() {    return fileWebPath;  }  public void setFileWebPath(String fileWebPath) {    this.fileWebPath = fileWebPath;  }  public String getFilePrefix() {    return filePrefix;  }  public void setFilePrefix(String filePrefix) {    this.filePrefix = filePrefix;  }  public String getFileAllPath() {    return fileAllPath;  }  public void setFileAllPath(String fileAllPath) {    this.fileAllPath = fileAllPath;  }  public List<String> getFieldNames() {    return fieldNames;  }  public void setFieldNames(List<String> fieldNames) {    this.fieldNames = fieldNames;  }  public List<String> getFieldCodes() {    return fieldCodes;  }  public void setFieldCodes(List<String> fieldCodes) {    this.fieldCodes = fieldCodes;  }}

--结束END--

本文标题: Java使用excel工具类导出对象功能示例

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

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

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

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

下载Word文档
猜你喜欢
  • 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通用工具类实例代码
    目录一、概述二、项目实现1、构建pom.xml2、编写ExportExcelUtil类3、创建Student类4、创建测试类TestExportExcelUtil5、测试三、项目扩展...
    99+
    2024-04-02
  • java实现的导出Excel工具类实例
    本文实例讲述了java实现的导出Excel工具类。分享给大家供大家参考,具体如下:ExcelExportUtil:package com.excel;import java.io.FileOutputStream;import java.i...
    99+
    2023-05-31
    java excel ava
  • 在java poi导入Excel通用工具类示例详解
    前言本文主要给大家介绍了关于java poi导入Excel通用工具类的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。问题引入和分析提示:如果不想看罗嗦的文章,可以直接到最后点击源码下载运行即可最近在做一个导入Ex...
    99+
    2023-05-31
    java poi excel通用工具类
  • 怎么在Java中导出Excel通用工具类
    今天就跟大家聊聊有关怎么在Java中导出Excel通用工具类,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、构建pom.xml我们的工程是利用Maven来构建的,项目具体搭建过程大...
    99+
    2023-06-14
  • Java利用Reflect实现封装Excel导出工具类
    目录定义ExcelExportEnum定义导出方法校验入参利用java反射获取Service中的所有method提取method中的入参对象,获取其Class传入参数,调用导出方法注...
    99+
    2022-11-13
    Java Reflect封装Excel导出工具类 Java Excel导出 Java Reflect
  • 使用Java导入、导出excel详解(附有封装好的工具类)
    😜作           者:是江迪呀✒️本文关键词:Java、Excel、导出、工具类、后端☀️每日   一言:有些事情不是对的才去坚持,而是坚持了它才是对的! 前言 我们在日常开发中,一定遇到过要将数据导出为Exc...
    99+
    2023-08-18
    java excel 开发语言
  • Java并发工具类Future使用示例
    目录前言Future使用示例FutureTask前言 Future是一个接口类,定义了5个方法: boolean cancel(boolean mayInterruptIfRunni...
    99+
    2024-04-02
  • C#使用NPOI实现Excel导入导出功能
    本文实例为大家分享了C#使用NPOI实现Excel导入导出的具体代码,供大家参考,具体内容如下 Excel导入 使用OpenFileDiolog控件和button结合,选择文件导入,...
    99+
    2024-04-02
  • Java 使用hutool工具进行导出导入excel表格(代码很简单)
    1.先引入hutool的相关依赖                      cn.hutool            hutool-all            5.8.4                            org.ap...
    99+
    2023-09-24
    java excel 开发语言
  • Java利用Easyexcel导出excel表格的示例代码
    目录1.导入 EasyExcel Maven包2.配置3.输出Excel到前端1.导入 EasyExcel Maven包 <!--easyexcel 导出excel依赖--&g...
    99+
    2024-04-02
  • Java Socket实现的传输对象功能示例
    本文实例讲述了Java Socket实现的传输对象功能。分享给大家供大家参考,具体如下:前面两篇文章介绍了怎样建立Java Socket通信,这里说一下怎样使用Java Socket来传输对象。首先需要一个普通的对象类,由于需要序列化这个对...
    99+
    2023-05-31
    java socket 传输对象
  • C#中如何使用NPOI实现Excel导入导出功能
    本文小编为大家详细介绍“C#中如何使用NPOI实现Excel导入导出功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#中如何使用NPOI实现Excel导入导出功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-06-29
  • Hutool开发MapUtil工具类使用示例
    目录概述行列互转键值互换sort排序操作join连接操作过滤转换操作获取get总结概述 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工...
    99+
    2024-04-02
  • Java的对象复制工具类有哪些及怎么使用
    今天小编给大家分享一下Java的对象复制工具类有哪些及怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。工具类特性在介绍...
    99+
    2023-06-27
  • 利用java如何实现把对象数组导出从Excel文件
    利用java如何实现把对象数组导出从Excel文件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、导入相关jar包,pom依赖如下: <dependency> ...
    99+
    2023-05-31
    java excel 对象数组
  • Redis工具类封装RedisUtils的使用示例
    此RedisUtil工具类的功能: 直接使用此RedisUtil工具类的所需条件: 项目基于SpringBoot。pom.xml中需要引入依赖spring-boot-starter...
    99+
    2024-04-02
  • Java常用工具类汇总 附示例代码
    一、FileUtils private static void fileUtilsTest() { try { //读取文件内容 Stri...
    99+
    2024-04-02
  • 详解PHP用xlswriter优化Excel导出性能(附代码示例)
    本篇文章给大家带来了关于php的相关知识,其中主要跟大家聊一聊xlswriter扩展是什么?怎么使用xlswriter扩展优化Excel导出性能,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。关于xlswriterxlswriter 是...
    99+
    2023-05-14
    php Excel xlswriter
  • Java常用工具类汇总以及示例代码
    今天小编给大家分享的是Java常用工具类汇总以及示例代码,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作