LinqToExcel仅在文件打开时有效

时间:2013-10-04 09:18:52

标签: c# excel linq-to-excel

我正在使用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();

            }
        }

我是否需要编写更多代码才能按照我想要的方式工作。我基本上是他们点击上传按钮从Windows资源管理器窗口中选择电子表格。我不希望在此代码运行时打开电子表格。

0 个答案:

没有答案