excel模块 复制一份sheet

使用问题 · 25 次浏览
FDJKDF 创建于 3小时4分钟前

在使用excel文件读写的时候 只找到创建sheet  ,请问如何复制一份sheet 并命名新的名称  我没找到怎么操作这一步的方法


回复内容
CL 27 分钟前
#1

quicker里没有封装这个方法。 

可以拿到工作簿对象的变量后,在表达式里直接调用NPOI的方法。


一、同一个 Workbook 内复制 Sheet(推荐方式)

如果只是想复制当前工作簿中的 Sheet,NPOI 已经提供现成方法

var workbook = new XSSFWorkbook(fs);
int sheetIndex = workbook.GetSheetIndex("Sheet1");

// 复制
ISheet copiedSheet = workbook.CloneSheet(sheetIndex);

// 重命名
workbook.SetSheetName(workbook.GetSheetIndex(copiedSheet), "Sheet1_Copy");

✔ CloneSheet 特点

内容是否复制
单元格数据
单元格样式
列宽
合并单元格
公式
图片⚠ 视版本而定
VBA

⚠ 注意

  • 只能在同一个 workbook 内

  • 不能跨 XSSFWorkbook 和 HSSFWorkbook

回复主贴