你可以利用本身有的dataump工具,它的操作很简单。选择数据库用户名,选择表名就可以手工导入。
如果非要写代码的话。也很简单:
用Query控件访问EXCEL表,将记录取出。利用另一个Query控件进行写库操作。
如果非要写代码的话。也很简单:
用Query控件访问EXCEL表,将记录取出。利用另一个Query控件进行写库操作。
解决方案 »
- TortoiseCVS
- varclear在哪个单元啊?
- 这是登陆按钮的代码,为什么登陆失败关闭不了主窗体,form2为主窗体
- 请问这个怎么解决
- dbgrideh有单元格自动换行的功能吗?
- 问题 有点挑战性的问题,请大家帮忙
- 奇怪的问题:使用FILECOPY将DBF文件从W2K拷到NOVEL服务器上,有时会出现某一条记录的某个字段数据错误。
- 如何存储bmp图像?
- 哪位大哥能分別給出"移動,復制一個文件"的代碼.如文件test.txt從d:\temp到c:\temp,謝謝.
- ly_liuyang(Liu Yang)请进来领分。谢谢帮助!
- 学好Delphi,用什么书籍最好?
- 请问怎样在DELPHI中运行一个DOS应用程序,并加上参数。
procedure WriteDatasetToExcel(AQueryName: TQuery; AStrVar: String);
<br />var
<br /> EclApp,WorkBook : Variant;
<br /> xlsFileName : String ;
<br /> I : Integer ;
<br /> column : Integer ;
<br /> Row : Integer ;
<br /> Fdate:TDateTime;
<br /> Year, Month, Day, Hour, Min, Sec, MSec: Word;
<br /> StrDate:String ;
<br /> StrDate1:String ;
<br />Begin
<br /> Fdate:=now ;
<br /> DecodeDate(Fdate, Year, Month, Day);
<br /> DecodeTime(Fdate, Hour, Min, Sec, MSec);
<br /> StrDate:=formatdatetime('yyyy-mm-dd-hh-mm-ss',Fdate) ;
<br /> StrDate1:=formatdatetime('yyyy/mm/dd hh:mm:ss',Fdate) ;
<br /> If AStrVar='Excel文件' Then
<br /> Begin
<br /> xlsfilename :='Excel文件';
<br /> End ;
<br />
<br /> Try
<br /> Begin
<br /> EclApp := CreateOleObject('Excel.Application');
<br /> WorkBook:=CreateOleObject('Excel.Sheet');
<br /> End
<br /> Except
<br /> ShowMessage('您的計算机上沒有Microsoft Excel!');
<br /> Exit;
<br /> end;
<br /> try
<br /> workBook:=EclApp.workBooks.Add ;
<br /> row:=2;
<br /> EclApp.Workbooks.Item[1].Activate;
<br /> eclApp.Cells.font.colorindex:=5 ;
<br /> EclApp.Activesheet.Cells(1,1):=AStrVar ;
<br /> For I := 1 To AQueryName.FieldCount Do
<br /> EclApp.Activesheet.Cells(2,I):=AQueryName.Fields[I-1].FieldName ;
<br /> If Not AQueryName.Active Then AQueryName.Active := True ;
<br /> AQueryName.First;
<br /> While Not(AQueryName.Eof) do
<br /> begin
<br /> column:=1;
<br /> for i:=1 to AQueryName.FieldCount do
<br /> begin
<br /> eclApp.Cells.Item[row+1,column]:=AQueryName.fields[i-1].AsString;
<br /> column:=column+1;
<br /> end;
<br /> AQueryName.Next;
<br /> row:=row+1;
<br /> End;
<br /> WorkBook.saveas(xlsFileName);
<br /> WorkBook.close;
<br /> WorkBook:=eclApp.workBooks.Open(xlsFileName);
<br /> if MessageDlg('xlsFileName'+'此文件是否保存?',
<br /> mtConfirmation,[mbYes, mbNo], 0) = mrYes then
<br /> WorkBook.save
<br /> Else
<br /> workBook.Saved := True;
<br /> WorkBook.Close;
<br /> eclApp.Quit;
<br /> eclApp:=Unassigned;
<br /> except
<br /> ShowMessage('Excel文件保存失敗');
<br /> WorkBook.close;
<br /> eclApp.Quit;
<br /> eclApp:=Unassigned;
<br /> end;
<br /> ShowMessage('EXCEL 文件保存完畢。');
<br />end;
大致情况是这样的,先在“数据源(ODBC)”里建一个连接Excel文件的DSN,然后在Delphi项目里通过ADO(或BDE)形式来连接这个数据源(其实就相当于把Excel文件看作是一个数据库了)。如果全说出来挺多的,你如果想了解的话可以给我来信([email protected]),我在信里慢慢给你说清楚。