起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 177|回复: 9

【结贴】到处EXCEL字数限制问题**

[复制链接]
发表于 2008-8-1 09:42:35 | 显示全部楼层 |阅读模式
由于2728版本 DBGRID 限制了导出EXCEL字数限制的问题,现在请教可以直接把SELECT出来的内容导到EXCEL的代码!查了半天都是用DBGRID控件实现的! 
回复

使用道具 举报

发表于 2008-8-1 09:49:50 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-4 11:51:15 | 显示全部楼层
我试了一下有多错 能否提供导出的的代码
我的要导的内容是这样的
select type,content from table1
就两个字段 然后导到EXCE了表格了
回复 支持 反对

使用道具 举报

发表于 2008-8-4 11:55:49 | 显示全部楼层
在uses里面添加  system  单元。
代码都有了,不知道还要多详细啊。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-4 17:31:12 | 显示全部楼层
老大啊,提供的太不清楚了,我研究了半天,而且也没有注释,还非要打开一个存在EXCEL才行,我自己都不能接受,何况客户呢,分享的出来以供大家参考;

fxls := ComObj.CreateOleObject('excel.Application');
    FApp := DispatchHelper.Create(fxls);
    FApp.PropertyPut('Visible', [True]);

    docs := FApp.PropertyGet('Workbooks',  []);      FDocs := DispatchHelper.Create(docs);
    FDocs.InvokeMethod('ADD', []); //加载一个空的工作薄
    lcells := DispatchHelper.Create(FApp.PropertyGet('cells', [1,1]));
    lcells.PropertyPut('value',['id]);

    lcells := DispatchHelper.Create(FApp.PropertyGet('cells', [1,2]));
    lcells.PropertyPut('value',['name]);
 quaery1.close;
    query1.CommandText :='select id,name from table';
    query1.open;
   query1.First;
   row :=2;
   i:=0;
   count:=query1.RecordCount;
   while not query1.Eof do
   begin
      id:=query1.FieldByName('id).asstring;
      name:=query1.FieldByName('name').asstring;
      col:=1;// 我这里才两列所以不需要循环了,如果有多列自己循环
        lcells := DispatchHelper.Create(FApp.PropertyGet('cells', [row,col]));
        lcells.PropertyPut('value',[id]);
        lcells := DispatchHelper.Create(FApp.PropertyGet('cells', [row,col+1]));
        lcells.PropertyPut('value',[name]);
      query1.Next;
      row :=row+1;
   end;
回复 支持 反对

使用道具 举报

发表于 2008-8-4 17:51:45 | 显示全部楼层
想办法隐藏起来嘛。看看vba就知道了。
我写的新例子。
procedure TCT1.Button2Click(Sender: TObject);
var
   FApp,FDocs ,lcellsispatchHelper;
begin

    FApp := DispatchHelper.Create(ComObj.CreateOleObject('excel.Application'));
   // FApp.PropertyPut('Visible', [True]);
    FDocs := DispatchHelper.Create(FApp.PropertyGet('Workbooks',  []));
   // FDocs.InvokeMethod('Open', ['c:\test.xls']);
     FDocs.InvokeMethod('Add', []);
    lcells := DispatchHelper.Create(FApp.PropertyGet('cells', [5,5]));
    lcells.PropertyPut('value',['justep']);

                  //ActiveWorkbook.SaveAs
    FDocs := DispatchHelper.Create(FApp.PropertyGet('ActiveWorkbook',  []));

    FDocs.InvokeMethod('SaveAs', ['c:\test.xls']);
    fapp.InvokeMethod('quit', []);
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-5 09:05:37 | 显示全部楼层
再问一下,如何控制EXCEL的宽度和底色?
回复 支持 反对

使用道具 举报

发表于 2008-8-5 09:35:37 | 显示全部楼层
这个需要查一下vba的帮助了。
或者楼主可以在设置颜色时,录制一个宏,然后把代码移植到平台上来。
回复 支持 反对

使用道具 举报

发表于 2008-8-21 16:06:37 | 显示全部楼层
楼主,还有问题不?没问题就结帖了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-14 10:33:06 | 显示全部楼层
可以揭贴了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-23 03:04 , Processed in 0.048096 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表