呵呵,我到是做了个吧dbgrid中的数据导入excel 不过原理一样啊 呵呵,我做过的 前面的创建excel对象就不用说了 a_field:多少列 先求出dbgrid a_recordno:多少列; for i;=1 to a_field do begin ecl.cells(1,i) ;=DBGrid1.fields.fields[i-1].fieldname; //写字段名 end; for i ;=2 to a_record+1 do begin Dbgrid1.datasource.dataset.first; //保证首先到第一条记录 for j :=1 to a_field do begin ecl.cells(i,j) ;=DBgrid1.fields.fields[j].asstring; end; dbgrid1.datasource.dataset.next;//自动到下一条记录 end; 然后 后面的就是保存等等操作,相信不用我多说吧,我还有一段代码: 由那个excel 导入sql数据库已经 paradox的db格式的数据库 如果你需要,那就告诉我你的e,我给你
不过原理一样啊
呵呵,我做过的
前面的创建excel对象就不用说了
a_field:多少列 先求出dbgrid
a_recordno:多少列;
for i;=1 to a_field do
begin
ecl.cells(1,i) ;=DBGrid1.fields.fields[i-1].fieldname; //写字段名
end;
for i ;=2 to a_record+1 do
begin
Dbgrid1.datasource.dataset.first; //保证首先到第一条记录
for j :=1 to a_field do
begin
ecl.cells(i,j) ;=DBgrid1.fields.fields[j].asstring;
end;
dbgrid1.datasource.dataset.next;//自动到下一条记录
end;
然后 后面的就是保存等等操作,相信不用我多说吧,我还有一段代码:
由那个excel 导入sql数据库已经 paradox的db格式的数据库
如果你需要,那就告诉我你的e,我给你
欢迎你给我发邮件,我需要你的帮助。
begin
for j :=1 to a_field do
begin
Ecl.cells[j,i] := StringGrid1.Cells[j,i];
end;
end;
程序不能执行这些代码,数据还是不能进入excel, 各位高手帮一下忙吧!
var xlsFilename :string;
eclApp,WorkBook :variant ;
a_filedNo,i,j :integer;
begin
a_filedNo :=register.DBGrid1.FieldCount ;
xlsFileName :='关于注册人员信息.xls'; try
eclApp :=CreateOleObject('Excel.Application');
WorkBook :=CreateOleObject('Excel.Sheet');
except
showmessage('您的系统没有安装MS EXCEL');
exit;
end; try
WorkBook :=eclApp.workBooks.add ;
for i :=1 to a_FiledNo do //转化字段名;
begin
eclApp.cells(1,i) :=register.DBGrid1.Fields[i-1].FieldName ;
end; register.DBGrid1.DataSource.DataSet.First ;
for i :=1 to register.a_recordno do
begin
for j :=1 to a_filedNo do //转化一个记录
begin
eclApp.cells(i+1,j) :=DbGrid1.Fields[j-1].Value ;
end;
register.DBGrid1.DataSource.DataSet.Next ;
end;
try
WorkBook.saveas(ExtractFilePath(Application.ExeName )+xlsFileName);
WorkBook.close;
showmessage('保存EXECL文件成功,路径为:'+ExtractFilePath(Application.ExeName )+xlsFileName);
except
showmessage('保存文件出错');
end;
except
showmessage('不能正确操作EXECL文件,可能该文件已经被其他程序占用或系统错误');
WorkBook.close;
eclApp.quit;
eclApp :=Unassigned;
end;end;
其实什么数据库都无所谓了
因为我主要是在dbgrid 中进行转换,所以只要 能够在 dbgrid中显示,
那都能够转换!~~~说明:register是窗体的名称;你如果不懂,给我留言的时候,最好能够把这篇帖子的网址一起发过去好吗!~~~
谢谢!~~~