OledbConnection,服务器上 600 多行缺少读取

问题描述

我正在通过 OledbConnection 从 Excel 读取数据。这里的数据在我的本地上读取得很好,但如果比在服务器上多 600 条,则无法读取。

例如:

我在 excel 中有 1603 行。它只是在服务器上读取了 636 行。

我的连接字符串:

<add name="Excel07ConString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=YES'" />

我的控制器代码

string filePath = string.Empty;
string path = Server.MapPath("~/Uploads/");
if (!Directory.Exists(path))
{
    Directory.CreateDirectory(path);
}

filePath = path + Path.GetFileName(postedFile.FileName);
string extension = Path.GetExtension(postedFile.FileName);
postedFile.SaveAs(filePath);

string conString = string.Empty;
switch (extension)
{
    case ".xls": //For Excel 97-03.  
        conString = ConfigurationManager.ConnectionStrings["Excel03ConString"].ConnectionString;
        break;
    case ".xlsx": //For Excel 07 and above.  
        conString = ConfigurationManager.ConnectionStrings["Excel07ConString"].ConnectionString;
        break;
}

try
{
    DataTable dt = new DataTable();
    conString = string.Format(conString,filePath);

    using (OleDbConnection connExcel = new OleDbConnection(conString))
    {
        using (OleDbCommand cmdExcel = new OleDbCommand())
        {
            using (OleDbDataAdapter odaExcel = new OleDbDataAdapter())
            {
                cmdExcel.Connection = connExcel;

                //Get the name of First Sheet.  
                connExcel.open();
                DataTable dtExcelSchema;
                dtExcelSchema = connExcel.GetoleDbSchemaTable(OleDbSchemaGuid.Tables,null);
                string sheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
                connExcel.Close();

                //Read Data from First Sheet.  
                connExcel.open();
                cmdExcel.CommandText = "SELECT * From [" + sheetName + "]";
                odaExcel.SelectCommand = cmdExcel;
                odaExcel.Fill(dt);
                connExcel.Close();
            }
        }
    }
}

感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)