高手请进,dbgrid导出excel的程序为什么数据不能插入?

lwqzl925 2003-10-17 10:56:52
var
i,j,row,column:integer; //定义用于控制的单元格的变量
begin
try
outputApplication.connect;
Except
application.MessageBox('Excel 2000 是否已经正确安装','提示');
exit;
end;
outputApplication.Visible[0]:=true;
outputApplication.Caption:='统计数据;
outputApplication.Workbooks.Add(NULL,0);
outputApplication.SheetsInNewWorkbook[0]:=1;
outputApplication.Workbooks.Add(emptyParam,0);
outputWorkbook.ConnectTo(outputApplication.Workbooks[1]);
outputWorksheet.ConnectTo(outputWorkbook.Worksheets[1] as _Worksheet);
for i:=1 to outputGrid.FieldCount do
begin
outputWorksheet.Cells.Item[1,i]:=outputGrid.Fields[i-1].DisplayLabel;
//showmessagefmt('第一列的值是:%s',[outputWorksheet.Cells.Item[1,i]]);
end;
row:=2;
//delbaseQuery.First;
for i:=1 to delbaseQuery.RecordCount do
begin
column:=1;
for j:=1 to outputGrid.FieldCount do
begin
outputWorksheet.Cells.Item[row,column]:=delbaseQuery.Fields[j-1].AsString;
//showmessagefmt('第一列的值是:%s',[outputWorksheet.Cells.Item[row,column]]);
column:=column+1;
end;
row:=row+1;
delbaseQuery.Next;
end;

数据赋值都正确,excel就是显示不了worksheet中的数据,急!急!
...全文
33 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
caoxdong 2003-10-17
  • 打赏
  • 举报
回复
我用的一段代码,仅供参考!


unit excelyy;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, DBCtrls, Grids, DBGrids, IBDatabase, Db,
IBCustomDataSet, IBQuery, Excel97, OleServer;

type
TForm1 = class(TForm)
ExcelApplication1: TExcelApplication;
ExcelWorksheet1: TExcelWorksheet;
ExcelWorkbook1: TExcelWorkbook;
SaveDialog1: TSaveDialog;
IBQuery1: TIBQuery;
DataSource1: TDataSource;
IBDatabase1: TIBDatabase;
IBTransaction1: TIBTransaction;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
connectBtn: TBitBtn;
insertdadaBtn: TBitBtn;
saveBtn: TBitBtn;
quitBtn: TBitBtn;
closeappBtn: TBitBtn;
Label1: TLabel;
procedure connectBtnClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure insertdadaBtnClick(Sender: TObject);
procedure saveBtnClick(Sender: TObject);
procedure quitBtnClick(Sender: TObject);
procedure closeappBtnClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.connectBtnClick(Sender: TObject);
begin
try
ExcelApplication1.Connect;
except
MessageDlg('是否正确安装了Excel?',mtError,[mbok],0);
abort;
end;
ExcelApplication1.Visible[0]:=true;
ExcelApplication1.Caption:='Excel应用';
ExcelApplication1.Workbooks.Add(Null,0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
IBQuery1.close;
IBQuery1.open;
showmessage(intToStr(IBQuery1.fieldcount));
end;

procedure TForm1.insertdadaBtnClick(Sender: TObject);
Var
i,row,column:integer;
begin
ExcelWorksheet1.Cells.Item[1,1]:='表编号';
ExcelWorksheet1.Cells.Item[1,2]:='表代号';
ExcelWorksheet1.Cells.Item[1,3]:='表详细名称';
ExcelWorksheet1.Cells.Item[1,4]:='表说明';
row:=2;
While NOT(IBQuery1.eof) Do
begin
Column:=1;
for i:=1 to IBQuery1.FieldCount do
begin
ExcelWorksheet1.Cells.Item[row,column]:=IBQuery1.fields[i-1].AsString;
Column:=Column+1;
end;
IBQuery1.Next;
row:=row+1;
end;
end;

procedure TForm1.saveBtnClick(Sender: TObject);
begin
if Savedialog1.Execute then
ExcelWorksheet1.SaveAs(SaveDialog1.FileName);
end;

procedure TForm1.quitBtnClick(Sender: TObject);
begin
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;
end;

procedure TForm1.closeappBtnClick(Sender: TObject);
begin
Close;
end;

end.

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧