当前能搜到的sheet表页的复制要么复制不全,要么收费,要么不好使,要么无法修改sheet名称,要么是错误的
自己找到了个原生自带的。
默认复制到最后,位置可调。
excelFilePath = excelFilePath + $"ROUSES";
Excel.Application excel = new Excel.Application();
Excel.Workbook workbook = excel.Workbooks.Open(excelFilePath);
Excel.Worksheet worksheetcp = (Excel.Worksheet)workbook.Sheets[1];
worksheetcp.Copy(Type.Missing, workbook.Sheets[workbook.Sheets.Count]);
Excel.Worksheet copiedSheet = (Excel.Worksheet)workbook.Sheets[workbook.Sheets.Count];
copiedSheet.Name = sheetName;
workbook.Save();
workbook.Close();
excel.Quit();
远程仓库,模板拉取
string newpath = excelFilePath + $"\\";
XSSFWorkbook workbook = null;
using (FileStream tFile = new FileStream(templatePath, FileMode.Open, FileAccess.Read))
{
workbook = new XSSFWorkbook(tFile);
tFile.Close();
}
ISheet sheet1 = workbook.GetSheetAt(1);
workbook.RemoveSheetAt(1);
workbook.RemoveSheetAt(1);
if (File.Exists(newpath))
{
try
{
File.Delete(newpath);
}
catch { }
}
using (FileStream oFile = new FileStream(newpath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite))
{
workbook.Write(oFile);
oFile.Close();
}
//修改sheet名称
Excel.Application excel = new Excel.Application();
Excel.Workbook workbook2 = excel.Workbooks.Open(newpath);
Excel.Worksheet worksheetcp = (Excel.Worksheet)workbook2.Sheets[1];
worksheetcp.Name = sheetName;
workbook2.Save();
workbook2.Close();
excel.Quit();