使用Java合并excel的sheet的操作
package com.cmii.ag.zhyz.demo.payload.village.util;import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.*;/*** 合并excel的sheet工具类*/
public class MergeExcelUtil {/*** formexcel中有多个sheet需要合并时调用此方法遍历合并* @param formExcelPath 需要合并的sheet的excel的地址* @param mainExcelPath 合并到的主excel*/public static void manySheetMergeExcel(String formExcelPath,String mainExcelPath){try(FileInputStream mainFile = new FileInputStream(new File(mainExcelPath));FileInputStream excelFile = new FileInputStream(new File(formExcelPath));FileOutputStream outputStream = new FileOutputStream(mainExcelPath);) {XSSFWorkbook workbook = new XSSFWorkbook(excelFile);XSSFWorkbook mainWork = new XSSFWorkbook(mainFile);int numberOfSheets = workbook.getNumberOfSheets();for (int i = 0 ; i< numberOfSheets ; i++){XSSFSheet sheetAt = workbook.getSheetAt(i);mainWork.createSheet(sheetAt.getSheetName());XSSFSheet mainSheet = mainWork.getSheet(sheetAt.getSheetName());System.out.println("当前是第"+i+"张sheet");CopySheetUtil.copySheet(mainWork,sheetAt,mainSheet);}mainWork.write(outputStream);} catch (Exception e) {e.printStackTrace();}}/*** 文件夹下多个excel需要合并到一个excel时调用此方法* excel中只需要第一个sheet复制* @param filePath 文件夹地址* @param mainExcelPath 目标excel地址*/public static void oneSheetMergeExcel(String filePath,String mainExcelPath){try(FileInputStream mainFile = new FileInputStream(new File(mainExcelPath));FileOutputStream outputStream = new FileOutputStream(mainExcelPath);) {XSSFWorkbook mainWork = new XSSFWorkbook(mainFile);recursiveFiles(filePath,mainWork);mainWork.write(outputStream);}catch(Exception e) {e.printStackTrace();}}/*** 循环读取文件夹里的excel文件合并到目标excel* @param path 需要循环的文件夹地址* @param mainWork 需要复制进去的目标excel的工作簿*/public static void recursiveFiles(String path,XSSFWorkbook mainWork) throws IOException {// 创建 File对象File file = new File(path);// 取 文件/文件夹File files[] = file.listFiles();// 对象为空 直接返回if(files == null){return;}// 目录下文件if(files.length == 0){System.out.println(path + "该文件夹下没有文件");}// 存在文件 遍历 判断for (File f : files) {// 判断是否为 文件夹if(f.isDirectory()){System.out.print("文件夹: ");System.out.println(f.getAbsolutePath());// 为 文件夹继续遍历recursiveFiles(f.getAbsolutePath(),mainWork);// 判断是否为 文件} else if(f.isFile()){FileInputStream excelFile = new FileInputStream(f);XSSFWorkbook workbook = new XSSFWorkbook(excelFile);XSSFSheet sheetAt = workbook.getSheetAt(0);String name = f.getName();int i = name.indexOf(".");name = name.substring(0,i);System.out.println("sheet名字:"+name);mainWork.createSheet(name);XSSFSheet mainSheet = mainWork.getSheet(name);CopySheetUtil.copySheet(mainWork,sheetAt,mainSheet);} else {System.out.print("未知错误文件");}}}
}
使用Java合并excel的sheet的操作相关推荐
- java 复制excel_PoiUtil.java 用于excel间sheet复制
前言:apache提供的poi功能确实比较强大,但是不明白为什么没有相应的方法实现不同excel文件中sheet的复制功能.这也是本文整理PoiUtil工具类的初衷.网上有相关的解决方案,在参考了网上 ...
- java合并excel文件_Java 合并Excel文档
在日常使用Excel软件办公时,通常会产生很多文档.当我们需对其中的数据进行整理和统计时,对文档进行合并处理将能够大大提高操作效率.一般文档合并可分为两种情况:一是将同一个Excel文档内多张工作表的 ...
- java对excel文件的读写操作
通过 Jakarta的POI项目提供了一组操纵Windows文档的Java API 来完成对excel文件操作 该API有如下几个类提供了操作Excel文件的方便的途径: HSSFWorkbook = ...
- java解析excel文件,神操作!
01 如何理解高并发? 高并发意味着大流量,需要运用技术手段抵抗流量的冲击,这些手段好比操作流量,能让流量更平稳地被系统所处理,带给用户更好的体验. 我们常见的高并发场景有:淘宝的双11.春运时的抢票 ...
- java读取sheet2_java读取Excel指定sheet页或全部sheet页数据(含2003和2007版本)
java读取Excel指定sheet页或全部sheet页数据(含2003和2007版本) 在http://download.csdn.net/detail/u010792467/8072015下载所需 ...
- java合并单元格的快捷键_Java使用POI操作Excel合并单元格
合并单元格的方法: 指定 4 个参数,起始行,结束行,起始列,结束列.然后这个区域将被合并. CellRangeAddress region = new CellRangeAddress(startR ...
- Java Excel 复制单元格 poi Excel 复制单元格 Java Excel 复制行 Java Excel 复制 sheet 页 poi excel copy
Java Excel 复制单元格 poi Excel 复制单元格 Java Excel 复制行 Java Excel 复制 sheet 页 一.前言 1.本文记录 poi excel 实现 单元格ce ...
- Java对Excel表格的操作
Java对Excel表格的操作 目前软件开发多采用B/S架构.正B/S架构可以给软件的开发部署带来很大的便利,但是与此同时这种架构也带来了一些问题,例如Web报表的处理等,在B/S架构下,客户端的开发 ...
- java中excel下载(多sheet)
工具类: package com.gaoenergy.mntc.common.util; import java.io.File; import java.io.FileOutputStream; i ...
- Java操作Excel之POI:java读写excel文件以及打印设置
Java操作Excel之POI:java读写excel文件以及打印设置 POI的jar包下载地址:http://poi.apache.org/download.html 注意:项目中导入poi 4.0 ...
最新文章
- python多项分时求和_python实现连续变量最优分箱详解--CART算法
- 热潮下的冷思考,人工智能即将改变的三大领域
- FTP 500 OOPS
- Leaflet中添加标记、折线、圆圈、多边形、弹窗显示点击处坐标
- 关于真正免费的嵌入式GUI
- jsp中为什么有时out.write不能写,为什么?
- Java基础——从数组到集合之间关键字的区别!!!!
- 案例:神经网络建模 + 可视化分析 = 提效增质的利器!
- r语言html爬虫,用R语言三行代码写爬虫
- 惯性导航学习笔记——惯性技术基础知识
- springboot:运行(部署)时出现WebServerException: Unable to create tempDir.
- OpenXML指定位置插入图片
- Elastic 7.13.0 版重磅发布:在 Elastic 上搜索和存储更多数据
- FaceBoxes: A CPU Real-time Face Detector with High Accuracy
- cluster(1)
- High Version Count Issues
- 观点| 如何避免GitHub那样断网43秒瘫痪 24 个小时?
- 本科毕业论文问卷调查怎么写
- 基于STM32和阿里云的环境检测系统设计
- 谷歌Pixel 4神奇在哪儿? AI黑科技带来四大改变!