DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: xjhbbs
今日帖子: 9
在线用户: 21
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 beiking (beiking) ★☆☆☆☆ -
普通会员
2003/12/16 9:46:13
标题:
EXCEL 导入sql 浏览:1708
加入我的收藏
楼主: EXCEL 如何导入sql?
----------------------------------------------
-
作者:
男 chenlei_fly (编程路上一小兵) ★☆☆☆☆ -
普通会员
2003/12/16 9:58:04
1楼: 是数据库直接导入吗?那可以使用SQL的数据导入工具.如果是写语句的话,可以看看SQL的联机帮助文档,那上面有的
----------------------------------------------
编程之路真如铁,而今迈步从头越
作者:
男 whhuzq (whhuzq) ★☆☆☆☆ -
盒子活跃会员
2003/12/16 9:59:38
1楼: 你是问怎么把excel的内容存到数据库吧?
----------------------------------------------
-
作者:
男 beiking (beiking) ★☆☆☆☆ -
普通会员
2003/12/16 10:08:11
2楼: 就是把excel里的数据导入到sqlserver数据库,要用delphi语句实现的,怎么些呀?
----------------------------------------------
-
作者:
男 whhuzq (whhuzq) ★☆☆☆☆ -
盒子活跃会员
2003/12/16 11:42:03
3楼: use
  ComObj;
public
  oleApp:variant;

.....
  OleApp:=CreateOleObject('Excel.application');
  FieldByName('name').asstring:=OleApp.range['a1'];
以上仅供参考。
  自己试试。

----------------------------------------------
-
作者:
男 zhangjw9 (zhangjw9) ★☆☆☆☆ -
盒子活跃会员
2003/12/16 14:45:09
4楼: 先在ODBC中建一个Excel的数据源,然后用ado连接,接下来自己捉摸一下就好了。
----------------------------------------------
-我们一直在努力
作者:
男 beiking (beiking) ★☆☆☆☆ -
普通会员
2003/12/16 15:06:50
5楼:    我用这种方法是把excel 导入到了sql 但是导入后的 列的序列怎么变了,我用
insert into tablename SELECT *  FROM OpenDataSource(''+ 'Microsoft.Jet.OLEDB.4.0''+',''+ 'Data Source="d:/test.xls";Extended Properties="Excel 8.0;HDR=Yes;";Persist Security Info=False'' + ')...sheet1$
 把的:D:/test.xls 插入到 我在数据库中已经建立好的表tablename,就出现类型不匹配,我跟踪了一下是向tablename里插入数据的时候不是按照excel已有的列序 插入的,所以成这样了,问题:
  1,怎么让他往sql插入的时候按照excel的列序 插入?
  2,我发现插入数据后第一条丢了,这是什么原因?
----------------------------------------------
-
作者:
男 humanity (唤醒) ★☆☆☆☆ -
盒子活跃会员
2003/12/17 19:50:05
6楼: 刚才忘压缩了  ^ ^ !
此帖子包含附件:humanity_2003121719505.rar 大小:162.9K
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
作者:
男 chenshx (freeboy) ★☆☆☆☆ -
盒子活跃会员
2003/12/17 20:48:45
7楼:     insert 你的表 (列1,列2) SELECT 列1,列2 
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
    'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
按列排序可以解决对应关系
----------------------------------------------
-
作者:
男 wolfish (wolfish) ★☆☆☆☆ -
普通会员
2003/12/18 9:16:44
8楼: chenshx:sql中可建立固定的列,但是excel文件中可没有固定的列呀,要重新建好吗?
----------------------------------------------
-
作者:
男 suhuan (天憨) ★☆☆☆☆ -
普通会员
2003/12/18 12:51:15
9楼:
var
msexcel : olevariant;
wbook, wsheet : olevariant;
i,j : integer;
temp : string;
...
begin
MsExcel := CreateOleObject('Excel.Application');
WBook := MsExcel.Application;
WBook.Visible := False;
wbook.workbooks.Open('c:\xxxx.xls');//打开Excel文档
WSheet := WBook.ActiveSheet;
for i := 1 to WSheet.Rows.count - 1 do
begin
Table1.Append;            //Paradox表,其它表当然也可以了
for j := 1 to WSheet.Columns.Count do
begin
temp := wsheet.cells[i, j].value;
if Trim(temp) = ' then    //如果为空则跳出循环,当然,
// 也可以是其它条件
goto PH;
Table1.Fields[j - 1].AsString := temp;
end;
PH:
if Trim(wsheet.cells[i, 1].Value) = ' then break;//跳出循环
end;
...
WBook.SaveAs('c:\xxxx.xls');
MsExcel.quit;
end;

----------------------------------------------
suzuo
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行82.03125毫秒 RSS