使用c#上传excel文件并将工作表重命名为新工作表名称不使用excel interop

时间:2016-01-27 04:01:41

标签: c# asp.net

我想将excel文件上传到服务器,这个excel只有一张表,因此当复制到服务器时我想将表单名称更改为固定名称,因为用户每月上传此文件,用户设置的表单名称是按月因此,当上传更改名称为'数据'时,我想在上传到固定的ex:工作表名称之前重命名文件是'nov2015'

note:我使用c#语言上传和重命名文件,但没有使用excel互操作库,我有下面的代码上传文件:

FolderPath = "~/Uploads/";
FileName = Path.GetFileName(fupload.PostedFile.FileName);
strFileType = Path.GetExtension(fupload.FileName).ToLower();

input_by = Session["user"].ToString();
FilePath = Server.MapPath(FolderPath + input_by + strFileType);
File.Delete(FilePath);
fupload.SaveAs(FilePath);

2 个答案:

答案 0 :(得分:1)

考虑使用NPOI。您可以将工作表名称更改为 -

Workbook workbook = new HSSFWorkbook();
Worksheet sheet = (Worksheet)workbook.Worksheets[index];
//Change the name of worksheet
sheet.Name = "NewWorksheetName";

有关详细信息,请访问gitHub上的NPOI。您还可以在此处找到有关该工具的各种用法的各种示例 -

https://github.com/tonyqus/npoi

答案 1 :(得分:0)

尝试使用ClosedXML。它是C#中OpenXML SDK的简单包装器。它应该没有问题重命名工作表,该网站有几个例子。