谢谢!给段代码,非常感谢!
解决方案 »
- 求救 table1:cannot perform this operation on a closed dataset!
- 怎样才能将一个应用程序中已屏蔽的BUTTON恢复?
- 关于线程的问题!
- 谁有DesignPatterns Delphi源码,谢谢!
- 关系表SQL语句求解
- ZEBRA打印机,如何打印中文,谁解决过的给我个mail吧!我写好了一定人手一份
- 关于无模式窗体的问题
- 如何控制一个事件的触发你们知道吗?
- 请问服务器跟客户端的问题
- Delphi Bug? Windows Buf? My Bug? Help!
- 小弟初学。下载了一个带源码的系统。程序运行说明如下,我不知道该如何做,请大虾指点!
- 关于edit的焦点问题,急,在线等!
能有针对性的给段代码吗?
asheet,range:variant;
i,K,M,N,y :integer;
ls_FileName:string;
tsList :TStringList;
s :string;
begin
ExcelApplication1.Visible[0]:=True;
ExcelApplication1.Workbooks.Add(xlWBATWorksheet,0);
asheet:=ExcelApplication1.Worksheets.Item[1];
i:=DBGrid1.DataSource.DataSet.FieldCount;
range:=asheet.range[asheet.cells[1,1],asheet.cells[1,i]];
range.merge;//合并单元格
range.HorizontalAlignment:=xlCenter;//居中
range.Font.Size:=14;//设置字体大小
range.value:=Trim(EdtTiTle.Text);//赋值
for i:=0 to DBGrid1.Columns.Count-1 do
asheet.cells[2,i+1].value:=Trim(DBGrid1.Columns.Items[i].Title.Caption);
K:=1;
N:=DBGrid1.Columns.count;
I:=DBGrid1.DataSource.DataSet.RecordCount;
tsList:=TStringList.Create;
try
DBGrid1.DataSource.DataSet.first;
while not DBGrid1.DataSource.DataSet.Eof do
begin
s:='';
for y:=0 to n-1 do
begin
s:=s+Trim(DBGrid1.DataSource.DataSet.Fields[y].AsString)+#9;
Application.ProcessMessages;
end;
tsList.Add(s);//读取到STRINGLIST
DBGrid1.DataSource.DataSet.next;
end;
Clipboard.AsText:=tsList.Text;//复制到剪贴板
finally
tsList.Free;
end;
ExcelApplication1.Disconnect;
asheet.cells[3,1].select;
aSheet.Paste;//粘贴
range:=asheet.range[asheet.cells[2,1],asheet.cells[DBGrid1.DataSource.DataSet.RecordCount+2,DBGrid1.DataSource.DataSet.FieldCount]];
range.select;//选择列
range.borders.linestyle:=1;//画线
for i:=1 to DBGrid1.DataSource.DataSet.FieldCount do begin
range:=asheet.range[asheet.cells[1,i],asheet.cells[DBGrid1.DataSource.DataSet.RecordCount,i]];
range.EntireColumn.AutoFit;//自适应
end;
Screen.Cursor:=crDefault;
ExcelApplication1.Disconnect;
aSheet:=Unassigned;
DBGrid1.DataSource.DataSet.First;
end;
真是非常感谢两位高人的指点。
还是好心人多啊!
大家快来帮帮我啊!
==============================
不可以吗?这个是我以前程序写的,
发了多少次了
呵呵,
range:=asheet.range[asheet.cells[1,1],asheet.cells[1,10]];就是说选择第一行的,第一列到第10列
range.merge;//合并单元格
range.HorizontalAlignment:=xlCenter;//居中