看了很多案例不是太复杂看不明白就是无用,所以转换了下思路,创建xlsx然后将xls里面sheet复制进去。
Workbook workbook1 = new Workbook();
//获取第一个工作表
workbook1.LoadFromFile(@"C:\...\...\...\....xls");
//获取工作表中sheet
Worksheet sheet1 = workbook1.Worksheets[0];
//创建第二个工作表
var streamWrite = new FileStream("存放路径.xlsx", FileMode.OpenOrCreate, FileAccess.Write);
var newBook = new XSSFWorkbook();
newBook.Write(streamWrite);
Workbook workbook2 = new Workbook();
workbook2.LoadFromFile(@"C:\...\...\...\....xlsx");
//调用方法AddCopy()将第一个Excel文件的sheet1复制到第二个Excel文件sheet2中去,并命名复制后的工作表
Worksheet sheet2 = workbook2.Worksheets.AddCopy(sheet1);
//sheet2.Name去掉就是默认
sheet2.Name = "Copy";
//保存文件
workbook2.SaveToFile("路径.xlsx");