excel导入sql问题
导入sql 总共有9列 但是有一列导入的时候始终是没有内容 但是在excel里面有内容 导入sql后 那一列的内容就全没了 求解
追问:我有一列是电话列 前面几批是空的 后面有电话 请问这样导入也是空的吗?还有个列 有中文和数字 我只能导入进去数字 而 中文的那几排都是空 怎么解决
导入sql 总共有9列 但是有一列导入的时候始终是没有内容 但是在excel里面有内容 导入sql后 那一列的内容就全没了 求解
追问:我有一列是电话列 前面几批是空的 后面有电话 请问这样导入也是空的吗?还有个列 有中文和数字 我只能导入进去数字 而 中文的那几排都是空 怎么解决
答案:9月20日 12:47
******* 导出到excel
EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'
/*********** 导入Excel
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
SELECT cast(cast(科目编号 as numeric(10,2)) as nvarchar(255))+' ' 转换后的别名
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
---------------------------------------------------------------
EXCEL TO SQL SERVER
先用ODBC建立一个数据源,数据源指向sql server的表,然后用TTABLE控件联上数据库,
再建立一个OleObject,然后用Append,Post把数据导入到EXCEL表。
实例:
var
MSExcel:Variant;//定义一个全程变量
MSExcel := CreateOleObject('Excel.Application');
MSExcel.WorkBooks.Open(Edit1.Text);//创建一个OleObject
Table.Active:=true;
Table.Append;
Table.FieldByName('字段名').Value:=MSExcel.Cells[rows_i,1].Value;
Table.Post;//实现导入
如果有不明白给我mail: leo.liu@163.com
---------------------------------------------------------------
不行的话
你可以用server里的execl的空件
excelwork.open();
---------------------------------------------------------------
那dbexpress可以连接excel吗?
ado怎么去连接excel?谢谢
----------------------
不能,
要连接excel(把它当成数据库连接)只能用ado来做.
其连接字符串的一个示例:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
注意
Properties=""Excel 8.0;HDR=Yes;IMEX=1""是一个参数,而不是多个
其他:我想你应该是用openrowset来读取Excel数据到SQL的吧。
以前我也碰到过的。
检查那列的数据类型是不是一致。
比如,开头几行是数字,后面的是字符,或反之,或开头是空,后面有数据,
等都会导致这种情况发生。
上一个:在一个aspx页面中打开了一个excel表,想把表上的数据写到后台数据库中
下一个:java把excel文件导入数据库报错!!