使用SQL Server2000所提供的“导入和导出数据”这个工具。
解决方案 »
- tms intraweb component是什么作用?
- 一个简单的集几何问题,晕死了
- 线程里实现SOCKET通信
- 大侠救急啊!我的delphi的tlabel控件的caption属性栏里没法显示中文,但是界面上可以显示中文,这是怎么回事啊,我都重装过几次了!!
- 有时间的大虾请帮帮忙!
- 今天真是"大通"之日~高兴,散分.
- 送100分,请帮帮忙,很简单的问题
- 哪位大哥有vfw.pas的啊?60分相赠
- TPopupMenu动态添加MenuItem?
- 不行啊!!!不能下了!!!救救我吧!!!
- 该问题有点难度,快来帮帮我啊!
- 换标题重新贴:"请问如何重新编译库文件?例如,修改标准的forms.pas后需要把修改反应到ide中"
2.给你一个我写的简单例子
-------------------------------
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGrids, Db, DBTables, Excel97, OleServer;type
TForm1 = class(TForm)
ExcelApplication1: TExcelApplication;
ExcelWorkbook1: TExcelWorkbook;
ExcelWorksheet1: TExcelWorksheet;
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
procedure OutputDataToExcel(AFileName, AWName,
AWCaption: string; ADBGrid: TDBGrid);
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
var
i, row, column: integer;
begin Try
ExcelApplication1.Connect;
Except
MessageDlg('Excel may not be installed', mtError, [mbOk], 0);
Abort;
End;
ExcelApplication1.Visible[0]:=True;
ExcelApplication1.Caption:='Excel Application';
ExcelApplication1.Workbooks.Add(Null,0);
ExcelWorkbook1.ConnectTo
(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo
(ExcelWorkbook1.Worksheets[1] as _Worksheet);
Table1.Open;
row:=1;
While Not(Table1.Eof) do
begin
column := 1;
for i:=1 to Table1.FieldCount do
begin
ExcelWorksheet1.Cells.Item[row,column] := Table1.fields[i-1].AsString;
column:=column+1;
end;
Table1.Next;
row := row + 1;
end;
ExcelWorkSheet1.SaveAs('f:\yyy');
ExcelApplication1.quit;
ExcelWorksheet1.disconnect;
ExcelWorkbook1.disconnect;
ExcelApplication1.disconnect;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
ExcelWorksheet1.PrintPreview;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
ExcelWorksheet1.PrintOut;
end;procedure TForm1.Button4Click(Sender: TObject);
begin
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
end;procedure TForm1.OutputDataToExcel(AFileName, AWName, AWCaption: string;
ADBGrid: TDBGrid);
var
temp_worksheet: _worksheet;
iCount, jCount: integer;
aBookMark: TBookMark;
begin Try
ExcelApplication1.Connect;
Except
MessageDlg('没有安装Excel!', mtError, [mbOk], 0);
Abort;
End;// ExcelApplication1.Visible[0]:=True;
// ExcelApplication1.Caption:='Excel Application';
ExcelApplication1.Workbooks.Add(Null,0);
ExcelWorkbook1.ConnectTo
(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo
(ExcelWorkbook1.Worksheets[1] as _Worksheet); for iCount := 0 to ADBGrid.Columns.Count - 1 do
ExcelWorkSheet1.Cells.Item[1, iCount + 1] := ADBGrid.Columns.Items[iCount].Title.Caption;
try
ADBGrid.DataSource.DataSet.DisableControls;
aBookMark := ADBGrid.DataSource.DataSet.GetBook;
ADBGrid.DataSource.DataSet.First;
iCount := 1;
while not ADBGrid.DataSource.DataSet.Eof do
begin
Inc(iCount);
for jCount := 0 to ADBGrid.FieldCount - 1 do
ExcelWorkSheet1.Cells.Item[iCount, jCount + 1] := ADBGrid.Fields[jCount].AsString;
ADBGrid.DataSource.DataSet.Next;
end;
finally
ADBGrid.DataSource.DataSet.GotoBook(aBook);
ADBGrid.DataSource.DataSet.FreeBook(aBook);
ADBGrid.DataSource.DataSet.EnableControls;
end; ExcelWorkSheet1.SaveAs(AFileName);
ExcelApplication1.quit;
ExcelWorksheet1.disconnect;
ExcelWorkbook1.disconnect;
ExcelApplication1.disconnect;
ShowMessage('保存成功!');
end;procedure TForm1.Button5Click(Sender: TObject);
begin
OutputDataToExcel('f:\yy', 'dd', 'ddd', DBGrid1);
end;end.
------------------------------------------------------
SET TALK OFF
set esca off
create database start
open database START
create connect sqlodbc connstring "DRIVER=SQL Server;SERVER="+allt(thisform.text1.value)+";UID="+allt(thisform.text2.value)+";PWD="+allt(thisform.text3.value)+";APP=Microsoft? Visual FoxPro?;WSID=df;DATABASE=master"
=dbsetprop("sqlodbc","connection","displogin",3)
sqlconnhand=sqlconn("sqlodbc",ALLT(this.parent.TEXT2.VALUE),ALLT(this.parent.TEXT3.VALUE))
if sqlconnhand<0
=messagebox("初始化失败,检查输入的服务器、用户及密码是否有误。",16,"出错信息")
thisform.text1.setfocus
retu
endi
****取消连接
=sqldisconnect(sqlodbc)
**建立视图
create sql view temp connection sqlconn share as select * from ctdt &&建立视图
=dbsetprop("temp.recordid","field","keyfield",.t.)&&设置第一个字段为关键字段
=dbsetprop("ctdt","view","sendupdates",.t.)
**这样后,就好象使用本地表一样使用SQL数据表,随便进行导出导入。