2011-11-24 193 views
0

在ASP.Net中SqlBulkCopy出现错误,如提供程序无法确定Double值。例如,该行刚刚创建,Double列的默认值不可用,并且使用者尚未设置新的Double值。在ASP.Net中SqlBulkCopy出现错误,如提供程序无法确定Double值。

AS使用提供商作为2003:
ExelconnectionString = “提供商= Microsoft.Jet.OLEDB.4.0;数据源=” + FILNAME + “;扩展属性= \” 的Excel 8.0; IMEX = 1; ImportMixedTypes =文本; TypeGuessRows = 0; \ “”;

和2007为:

“提供者= Microsoft.ACE.OLEDB.12.0;数据源=” + FILNAME + “;扩展属性= Excel的12.0的Xml;”;

回答

0

尝试了这一点

string xlsFile = AsyncFileUpload1.FileName; 
      if (AsyncFileUpload1.HasFile) 
      { 
       string FileName = Path.GetFileName(AsyncFileUpload1.PostedFile.FileName); 
       string Extension = Path.GetExtension(AsyncFileUpload1.PostedFile.FileName); 
       string FilePath = Server.MapPath("~/xl/" + FileName); 
       if (Extension == ".xls") 
       { 
        AsyncFileUpload1.SaveAs(FilePath); 
        Session.Add("s_FilePath", FilePath); 



        string excelConnectionString = @"Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" + FilePath + "; Extended Properties = 'Excel 4.0;HDR=YES;'"; 

        OleDbConnection xlsConn = new OleDbConnection(excelConnectionString); 

        try 
        { 
       //Do something 
      } 
      catch (System.Data.SqlClient.SqlException ex) 
      { 
       //Handly exception 
      } 
      finally 
      { 
      } 

如果你觉得有用,请把它标记为你的答案别的我知道...

0

请在Excel工作表列包含数字检查是在一个正确的格式或非常大的数字在那里。

相关问题