1

我正在使用 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 资源管理器窗口中选择电子表格时。我不希望在此代码运行时打开电子表格。

4

0 回答 0