因为工作上有个调用存储过程的需求,但是excle表中色sheet名字有特殊符号。导致存储过程一直报错。无奈只能修改sheet名字,摸索了半天,才把代码写好。现如今把代码记录下来,方便以后可以随时查看。
//修改sheet名字
//hisfile为原文件地址
IWorkbook workbook = null;
if (!System.IO.File.Exists(hisFile))
{
return null;
}
FileStream fs = new FileStream(hisFile, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
//根据路径通过已存在的excel来创建HSSFWorkbook,即整个excel文档
if (hisFile.IndexOf(".xlsx") > 0)
{
// 2007版本
workbook = new XSSFWorkbook(fs);
}
else if (hisFile.IndexOf(".xls") > 0)
{
// 2003版本
workbook = new HSSFWorkbook(fs);
}
//获取sheet的索引
int idex = workbook.GetSheetIndex("111111");
//修改sheet名字
workbook.SetSheetName(idex, "222222222");
//重新写入excle数据,保存关闭
FileStream fs2 = new FileStream(hisFile, FileMode.Create);
workbook.Write(fs2);
fs2.Close();