sql语句将EXCEL导入SQL数字太长引起SQL显示错误E+

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句将EXCEL导入SQL数字太长引起SQL显示错误E+相关的知识,希望对你有一定的参考价值。

我直接用SQL语句添加数据, 将EXCEL导入SQL表中
过程和其他方面都没有任何问题。
唯独有一个字段因为数字编号太长引起导入数据库后变成8.4543e+665这个样子。
这个要怎么修改才成?
我在EXCEL表里设置单元格式再次添加仍然是这个样子。
求解。怎样才能添加后在数据库正常显示使用。

参考技术A protected void Button1_Click(object sender, System.EventArgs e)

string XLS_Path="";
string XLS_Name = MakeFileName();
string fileExtName = "";
if(File1.PostedFile.ContentLength >0)

try

fileExtName = File1.PostedFile.FileName.Substring(File1.PostedFile.FileName.LastIndexOf("."));
if(fileExtName!=".xls"||fileExtName.Length<1)

Response.Write( "<script language=javascript>alert('数据导入失败.可能是文件格式或路径不正确!!!');</script>");
return;

File1.PostedFile.SaveAs(Server.MapPath("../uploadexcel/")+XLS_Name+fileExtName);
XLS_Path =Server.MapPath("../uploadexcel/")+ XLS_Name+fileExtName;

catch(Exception ex)

Response.Write(ex.ToString());


else

Response.Write( "<script language=javascript>alert('请选择文件后再上传!!!');</script>");
return;

string ConStr=System.Configuration.ConfigurationManager.AppSettings["ConnString"];
SqlConnection Conn=new SqlConnection(ConStr);
string mystring="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '"+XLS_Path+"'"+";Extended Properties=Excel 8.0";
OleDbConnection cnnxls = new OleDbConnection (mystring);
OleDbDataAdapter myDa =new OleDbDataAdapter("select * from [Sheet1$]",cnnxls);
DataSet myDs =new DataSet();
try

myDa.Fill(myDs);

catch

Response.Write( "<script language=javascript>alert('数据导入失败,请检查!!');</script>");
return;

if(myDs.Tables[0].Rows.Count<=0)

Response.Write( "<script language=javascript>alert('文件中可能没有数据,请检查后重新导入!');</script>");
return;


int []zjid=new int[myDs.Tables[0].Rows.Count];
string strSql = "";
string CnnString="Provider=SQLOLEDB;"+ConStr;
OleDbConnection conn =new OleDbConnection(CnnString);
OleDbCommand myCmd =null;
参考技术B 改数据库中改字段定义的类型或长度追问

不是,问题不在这,数据库本来字段长度就和要导入的一样。

追答

。。。。。。。。

参考技术C 将出错字段设置为字符型呢追问

SQL该字段是varchar(50)型的 excel 是文本
你说的是修改那个类型?

追答

数字超过50位?

参考技术D convert (varchar(50),colmun1) 第5个回答  2011-05-05 EXCEL中的单元格格式是文本的吗?如果是常规格式就会成这种科学计数,
你数据库中字段的类型是什么阿追问

varchar(50)

以上是关于sql语句将EXCEL导入SQL数字太长引起SQL显示错误E+的主要内容,如果未能解决你的问题,请参考以下文章

如何将EXCEL数据导入到SQL SERVER数据库中

尝试将数据从 Excel 导入 SQL 表时出错

怎样把excel里的数据作为条件 导入到sql语句中

.net sql数据库导出excel 数字字符过长被excel编译成。..... +18格式怎么

请教一下excel表格中的长数字导入excel之后变成1.01400e+1,是啥问题?

如何使用sql语句和vba将数据从MS-Access导入excel power查询?