Mvc 5文件上传和读取excel内容

时间:2014-09-30 11:23:43

标签: c# asp.net excel asp.net-mvc-5

我试图使用mvc5保存并从xls文件中读取,我遇到的问题是excel无法读取保存的文件...有人可以帮我解决这个问题吗?我在这里错过了一些东西。

public class ExcelFileUpload
{
    [DisplayName("Wybierz plik excela")]
    [Required]
    public HttpPostedFileBase File { get; set; }
}

    [HttpPost]
    public ActionResult Upload(ExcelFileUpload excel)
    {
        if (excel.File.FileName.Contains(".xls"))
        {
            var fileBytes = new byte[excel.File.ContentLength];
            var ms = new MemoryStream(fileBytes);
            var temp = Path.GetTempPath();
            var file = Path.GetFileNameWithoutExtension(Path.GetRandomFileName());
            var path = Path.Combine(temp, file + ".xls");
            using (var fs = new FileStream(path, FileMode.Create, FileAccess.Write))
            {
                ms.WriteTo(fs);
            }
            if (System.IO.File.Exists(path))
            {
                var ei = new ExcelImporter(path);
                ei.excel_getValue("A1");

            }
        }
        return View(excel);
    }

1 个答案:

答案 0 :(得分:0)

您是否可以使用Excel Office手动打开上传的Excel文件?

如果没有,则在上传文件时出现问题,并且与Excel格式无关。

当您可以使用Excel打开文件时,问题的存在应该出现在ExcelImporter类中。

处理新的.xlsx文件格式很容易,然后你可以使用OpenXML SDK, 看到: http://msdn.microsoft.com/en-us/library/office/bb448854%28v=office.15%29.aspx