使用LinqToExcel时无法处理文件

时间:2017-06-16 02:43:30

标签: c# asp.net-mvc

我尝试使用“表单”将文件上传到控制器,并出现一些问题, 下面是视图代码

<form action="@Url.Action("uploadRecordFile")" method="post" enctype="multipart/form-data">
      <label for="file"> Filename : </label>
      <input type="file" name="file" id="file" />
      <input type="submit" />
</form>

控制器代码

public ActionResult uploadRecordFile(HttpPostedFileBase file)
{
    if  (file.ContentLength > 0)
    {
        var fileName = Path.GetFileName(file.FileName);
        var path = Path.Combine(Server.MapPath("~/FileUploads"), fileName);
        file.SaveAs(path);
    }

    var ExcelFileName = new ExcelQueryFactory(@Url.Content("~/FileUpload/" + file.FileName.ToString()));

    foreach (var item in excel) // when the code runs into this, there is some error statements
       {

//   'System.Data.OleDb.OleDbException' 類型的例外狀況發生於 System.Data.dll,但使用者程式碼未加以處理
//   其他資訊: 外部資料表不是預期的格式。
抱歉,这是中文,我认为它说'类型异常发生在System.Data.dll中,但代码无法处理;其他信息:数据表不是预期的格式

我尝试使用相同的文件并测试“uploadRecordFile”方法,我发现它没问题,方法可以顺利运行,所以我认为这不是excel格式的问题

    var excelFile = new ExcelQueryFactory("D:/Names.xlsx");
    var excel = excelFile.Worksheet<TrainingRecord>();

我认为当控制器处理文件时,有一些代码需要转换文件

0 个答案:

没有答案