谁有delphi中进行EXCEL数据导入数据库的代码,帮帮忙! 你可以利用本身有的dataump工具,它的操作很简单。选择数据库用户名,选择表名就可以手工导入。如果非要写代码的话。也很简单:用Query控件访问EXCEL表,将记录取出。利用另一个Query控件进行写库操作。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 将数据库内容到入到Excel中并保存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; 请问用query空件如何访问excel? TO 文文夹 :我用过。DATAPUMP,但是因为有一个字段的长度大于255,所以只能写代码了但是对,EXCEL的控件不太熟你能不能说明白一点, 在李维的ADO/MTS/COM一书中有如何访问Excel的例子,你可以拿来看。大致情况是这样的,先在“数据源(ODBC)”里建一个连接Excel文件的DSN,然后在Delphi项目里通过ADO(或BDE)形式来连接这个数据源(其实就相当于把Excel文件看作是一个数据库了)。如果全说出来挺多的,你如果想了解的话可以给我来信([email protected]),我在信里慢慢给你说清楚。 考勤管理的出勤信息怎么做啊? 请问有D7的文件删除复制改名移动的代码吗? 急、急、急:StringGrid如果动态的增加行和列,并写入数据? 打包的难题,100分相送!!!请高手相助。 初学者问题 请问怎么遍历菜单的子菜单啊? 字符串分割问题 请教,怎样才能在程序将字倒着打印出来?急啊!请各帮帮忙啦! 登陆窗体 感谢1 学好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]),我在信里慢慢给你说清楚。