现装dbgrideh中的数据导出到excel中,但是导出的数据的列宽不是自动调整的。我想实现导出后列宽自动调整,前提是这个功能在不装excel也可以正常导出!这个问题捆扰我好久了!请高手指教!!!!!!!!!!!
解决方案 »
- 怎样建立储存登陆用户信息的数据表?
- 100分:用ADODATESET将日期更新为‘2008-1-1’时候,自动变为‘08-1-1’
- 它是我这些年来碰到的最大DELPHI难题,,,,,,NEED HELP.
- Delphi有没有象C++的this指针?
- 多窗体问题
- delphi中TClientSocket的小问题
- 构造一个类似于TdataSource的构件的两个问题
- 动态设置主窗体的主菜单,运行期间无效果
- 我用time()获取机器的当前日期 。可是返回的却是1899-12-30 ,这是为什么呢?
- <marquee><font color="red"><strong>怎样将用数据库用户名和密码写进程序</strong></font></marquee>
- 如何调用 chm 文件 ?????????
- 有关DBGRID的使用的问题
uses ComObj;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
MSExcel:Variant;
i,j:integer;
begin
SaveDialog1.Filter:='*.XLS|*.XLS';
SaveDialog1.DefaultExt:='XLS';
if SaveDialog1.Execute then
begin
MsExcel:=createOLEobject('excel.application');
MsExcel.workBooks.add;
Msexcel.visible:=false;
with DataSource1.Dataset do
begin
first;
for i:=0 to fieldcount-1 do
begin
Msexcel.cells[1,i+1].value:=fields[i].DisplayLabel ;
end;
j:=2;
while not eof do
begin
for i:=0 to fieldcount-1 do
begin
Msexcel.cells[j,i+1].numberformat:='@';
Msexcel.cells[j,i+1].value:=fields[i].AsString ;
end;
inc(j);
next;
end;
end;
MSExcel.ActiveWorkBook.SaveAs(SaveDialog1.FileName);
MSExcel.ActiveWorkBook.Saved:=True;
MSExcel.Quit;
end;
end;
dbgrideh中的数据导出到excel中需要什么控件?仅用dbgrideh我的怎么不行?