|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2003/12/16 9:46:13 |
标题: |
|
加入我的收藏 |
楼主: |
EXCEL 如何导入sql?
----------------------------------------------
- |
作者: |
|
2003/12/16 9:58:04 |
1楼: |
是数据库直接导入吗?那可以使用SQL的数据导入工具.如果是写语句的话,可以看看SQL的联机帮助文档,那上面有的
----------------------------------------------
编程之路真如铁,而今迈步从头越
|
作者: |
whhuzq (whhuzq) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/12/16 9:59:38 |
1楼: |
你是问怎么把excel的内容存到数据库吧?
----------------------------------------------
-
|
作者: |
|
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']; 以上仅供参考。 自己试试。
----------------------------------------------
-
|
作者: |
|
2003/12/16 14:45:09 |
4楼: |
先在ODBC中建一个Excel的数据源,然后用ado连接,接下来自己捉摸一下就好了。
----------------------------------------------
-我们一直在努力
|
作者: |
|
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,我发现插入数据后第一条丢了,这是什么原因?
----------------------------------------------
-
|
作者: |
|
2003/12/17 19:50:05 |
6楼: |
刚才忘压缩了 ^ ^ !
----------------------------------------------
|
作者: |
|
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$] 按列排序可以解决对应关系
----------------------------------------------
-
|
作者: |
|
2003/12/18 9:16:44 |
8楼: |
chenshx:sql中可建立固定的列,但是excel文件中可没有固定的列呀,要重新建好吗?
----------------------------------------------
-
|
作者: |
|
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
|
|