LinqToExcel只在打开文件时才起作用

我正在使用C#LinqToExcel将数据从电子表格上传到数据库。 我注意到当文件打开时,它能够从电子表格中检索数据。 但是,如果它没有打开我的机器上,我得到这个错误:

base {System.Data.Common.DbException} = {"External table is not in the expected format."} Errors = {System.Data.OleDb.OleDbErrorCollection} 

这是当我试图扩大结果观点。

这是我的C#代码:

  [HttpPost] public void CreateUsersBulk(ModelBulkUpload model, HttpPostedFileBase file) { if (file != null && file.ContentLength > 0) // Pass to Data Layer if true { DataLayer.ExcelParser ex = new DataLayer.ExcelParser(); ex.BulkUploadChoice(model.Type.ToString().Trim().ToLower(), file); } } public void BulkUploadChoice(string Choice, System.Web.HttpPostedFileBase File) { switch (Choice) { case "create": BulkUploadCreate(File); break; case "edit": BulkUploadEdit(); break; } } public void BulkUploadCreate(System.Web.HttpPostedFileBase File) { var excel = new ExcelQueryFactory(); excel.FileName = "C:/Users/nickgowdy/Desktop/UM Bulk Upload/UM - BulkUpload.xlsm"; //excel.DatabaseEngine = LinqToExcel.Domain.DatabaseEngine.Ace; var query = from q in excel.Worksheet("Users") select q; //var query = from q in excel.("A1", "L20", "Users") // select q; foreach (LinqToExcel.Row row in query) { Model.ModelUser u = new Model.ModelUser(); } } 

我是否需要编写更多的代码才能按照我所希望的方式工作? 我基本上当他们点击上传button从Windows资源pipe理器窗口中select电子表格。 我不希望电子表格在代码运行时被打开。