C# 将数据从excel导入sql返回NULL

C# 将数据从excel导入sql返回NULL,c#,sql,asp.net,import-from-excel,C#,Sql,Asp.net,Import From Excel,我正在尝试将excel工作表中的数据导入到数据库中,但有些数据将以NULL形式导入。其中包括 1) 包含'-'的东西。例如12345678-9 2) excel上有警告的数字,表示数字存储为文本,当选项将其转换为数字时,它从8111231231201014259变为8.96503E+17 我正在通过ASP.NET导入数据 using (OleDbConnection excelConnection = new OleDbConnection(conStr)) { //Create Ole

我正在尝试将excel工作表中的数据导入到数据库中,但有些数据将以NULL形式导入。其中包括

1) 包含'-'的东西。例如12345678-9

2) excel上有警告的数字,表示数字存储为文本,当选项将其转换为数字时,它从8111231231201014259变为8.96503E+17

我正在通过ASP.NET导入数据

using (OleDbConnection excelConnection = new OleDbConnection(conStr))
{
    //Create OleDbCommand to fetch data from Excel 
    using (OleDbCommand cmd = new OleDbCommand("SELECT * From [" + SheetName + "]", excelConnection))
    {
        excelConnection.Open();
        using (OleDbDataReader dReader = cmd.ExecuteReader())
        {
            using (SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection))
            {
                //Give your Destination table name 
                sqlBulk.DestinationTableName = "TableName";
                sqlBulk.WriteToServer(dReader);
            }
        }
        excelConnection.Close();
    }
}

您必须更改连接字符串

当您希望将文件中的所有数据视为文本时,请使用此选项,覆盖Excels列类型“General”,以猜测列中的数据类型


更多信息。

它仍然作为NULL@BloopieBloops再次检查连接字符串。当这种情况发生时,这是一个与连接字符串相关的问题;数据源={0};EXCEL2.0XML扩展属性;HDR={1};IMEX=1
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1";