POI使用克隆的方式复制Excel的sheet页

本文介绍了一种使用Java Apache POI库高效复制Excel工作表的方法,避免了逐行逐单元格的操作,通过示例代码展示了如何创建、读取、复制Sheet并进行简单编辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**:
最近需要使用POI操作Excel,有好多同一类型的sheet,需要复制操作,网上找了一下,居然都是逐行逐单元格操作的,我的天,这种操作实在有损我们程序员的英名,于是我就查了POI里的所有操作sheet的方法,终于找到了简洁的办法,话不多说,我们看代码:
新建一个Excel,并新建一个sheet,修改一下文件路径和sheet名称,就可以直接运行,大功告成

package com.example.test;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    import org.apache.poi.xssf.usermodel.XSSFCell;
    import org.apache.poi.xssf.usermodel.XSSFRow;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;


public class Test {

	public static void main(String[] args) {
		File file = new File("D:\\360MoveData\\Users\\Administrator\\Desktop\\测试表格.xlsx");
		FileInputStream fis;
		try {
			fis = new FileInputStream(file);
			XSSFWorkbook wb = new XSSFWorkbook(fis);
			XSSFSheet sheet = wb.getSheet("test1");
			String name = sheet.getSheetName();
			System.out.println("name-------------->"+name);
			XSSFRow row = sheet.getRow(0);
			XSSFCell cell = row.getCell(0);
			System.out.println("cell--------------->"+cell);
			if(null == cell){
				cell = row.createCell(0);
                cell.setCellValue(100);
			}	
			XSSFSheet sheet2 = wb.cloneSheet(0,"test2");   
			System.out.println("sheet2-------->"+sheet2.getSheetName());
			XSSFRow row2 = sheet2.getRow(0);
			XSSFCell cell2 = row2.getCell(2);
			if(null == cell2){
				cell2 = row2.createCell(2);
				cell2.setCellValue("测试数据");
			}	
			FileOutputStream fos = new FileOutputStream("D:\\360MoveData\\Users\\Administrator\\Desktop\\测试表格1.xlsx");
			wb.write(fos);
			fis.close();
			fos.close();
			wb.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		System.out.println("结束");
	}

}
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值