我是个初学者,我看了论坛里的一些,但是不是很明白,所以向你们征求一下我该怎么做
怎么样把查询到的数据导入到execl模板里
我现在有几个execl模板,表格和标头都已经设定好了,现在就是要把查询到的数据导入到这个模板中
1、我怎么样读取execl模板
2、怎么样把数据放入模板中
怎么样把查询到的数据导入到execl模板里
我现在有几个execl模板,表格和标头都已经设定好了,现在就是要把查询到的数据导入到这个模板中
1、我怎么样读取execl模板
2、怎么样把数据放入模板中
解决方案 »
- 简单问题
- gzip压缩的网页内容怎么解压?
- 用Active Server Object编写的ocx文件,为什么在有的机子上无法注册?
- 菜鸟菜问题:
- 终于第二颗星星,高兴,散分!!!顺便请大家帮个小忙,进来聊聊!
- TFileStream与数组
- 设置QR中BAND的哪个属性可以使周围出现边框?
- 关于TreeView的节点图标的显示
- 厚着脸皮要 ^_^
- 请问我下载的控件(creport.zip)该如何使用?(http://delphi.yesite.com/download_vcl/print/creport.zip)
- 在能用局部变量解决问题的时候尽量不要使用全局变量,这句话对吗?
- 请教错误:Access violation at address 00A63D2A in module 'dcc60.dll'.Read of address FFFFFFFF
vDataSet: TDataSet): Boolean;
var
I,VL_I,j: integer;
S,SysPath: string;
MsExcel:Variant;
begin
Result:=true;
if Application.MessageBox('您确信将数据导入到Excel吗?','提示!',MB_OKCANCEL + MB_DEFBUTTON1) = IDOK then
begin
SysPath:=ExtractFilePath(application.exename);
with TStringList.Create do
try
vDataSet.First ;
S:=S+Header;
add(s);
s:='';
For I:=0 to vDataSet.fieldcount-1 do
begin
If vDataSet.fields[I].visible=true then
S:=S+#9+vDataSet.fields[I].displaylabel;
end;
system.Delete(s,1,1);
add(s);
while not vDataSet.Eof do
begin
S := '';
for I := 0 to vDataSet.FieldCount -1 do
begin
If vDataSet.fields[I].visible=true then
S := S + #9 + vDataSet.Fields[I].AsString;
end;
System.Delete(S, 1, 1);
Add(S);
vDataSet.Next;
end;
Try
SaveToFile(SysPath+'\Tem.xls');
Except
ShowMessage('写文件时发生保护性错误,Excel 如在运行,请先关闭!');
Result:=false;
exit;
end;
finally
Free;
end;
Try
MSExcel:=CreateOleObject('Excel.Application');
Except
ShowMessage('Excel 没有安装,请先安装!');
Result:=false;
exit;
end;
Try
MSExcel.workbooks.open(SysPath+'\Tem.xls');
Except
ShowMessage('打开临时文件时出错,请检查'+SysPath+'\Tem.xls');
Result:=false;
exit;
end;
MSExcel.visible:=True;
for VL_I :=1 to 4 do
MSExcel.Selection.Borders[VL_I].LineStyle := 0;
MSExcel.cells.select;
MSExcel.Selection.HorizontalAlignment :=3;
MSExcel.Selection.Borders[1].LineStyle := 0; MSExcel.Range['A1'].Select;
MSExcel.Selection.Font.Size :=24; J:=0 ;
for i:=0 to vdataset.fieldcount-1 do
if vDataSet.fields[I].visible then
J:=J+1; VL_I :=J;
MSExcel.Range['A1:'+chr(VL_I+64)+'1'].Select;
MSExcel.Range['A1:'+chr(VL_I+64)+'1'].Merge;
end
else
Result:=false;end;