CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

Excel的问题--急!!!盼高手指点

楼主ie4888(布袋)2001-08-22 13:17:32 在 C++ Builder / 基础类 提问

try   {  
                    Variant   MSExcel=CreateOleObject("Excel.Application");  
                    MSExcel.OlePropertyGet("WorkBooks").OleProcedure("Add");  
                    MSExcel.OlePropertySet("Visible",False);  
   
   
          }  
          catch(...)   {  
                    Application->MessageBox("没有安装Microsoft   Excel办公软件!","系统信息",MB_OK+MB_ICONWARNING);  
          }  
   
  1、在有的机器上可以,有的不可以(提示:没有安装Microsoft   Excel办公软件  
  2、当记录大于100时,速度特曼,且作后提示:没有安装Microsoft   Excel办公软件  
  3、在统一计算机上,有时可以,有时不可,提示:没有安装Microsoft   Excel办公软件  
   
  该任何解决此问题??盼高手指点 问题点数:50、回复次数:14Top

1 楼HEROIN(HEROIN)回复于 2001-08-22 13:26:59 得分 0

你的代码,不止这点吧?Top

2 楼ie4888(布袋)回复于 2001-08-22 13:51:32 得分 0

if   (SaveDialog1->Execute())   {  
              try   {  
                    Variant   MSExcel=CreateOleObject("Excel.Application");  
                    MSExcel.OlePropertyGet("WorkBooks").OleProcedure("Add");  
                    MSExcel.OlePropertySet("Visible",False);  
   
  //   写标题栏到Execl文件  
                    int   j   =   1;  
  //                   if   (TForm_Query->EditName->Text   !=   "")   {  
                          MSExcel.OlePropertyGet("ActiveWorkBook").OlePropertyGet("ActiveSheet").OlePropertyGet("Cells",1,j).OlePropertySet("NumberFormat","@");  
                          MSExcel.OlePropertyGet("ActiveWorkBook").OlePropertyGet("ActiveSheet").OlePropertyGet("Cells",1,j).OlePropertySet("Value","姓名");  
                          j   ++;  
  //                   }  
                    if   (Form_Query->EditDept->Text   !=   "")   {  
                          MSExcel.OlePropertyGet("ActiveWorkBook").OlePropertyGet("ActiveSheet").OlePropertyGet("Cells",1,j).OlePropertySet("NumberFormat","@");  
                          MSExcel.OlePropertyGet("ActiveWorkBook").OlePropertyGet("ActiveSheet").OlePropertyGet("Cells",1,j).OlePropertySet("Value","部门");  
                          j   ++;  
                    }  
                    .  
                    .  
                    Query_Ry->First();  
   
  //   写记录到Excel文件  
                    for   (int   i=2;i<=Query_Ry->RecordCount+1;i++)   {  
   
                          int   j   =   1;  
  //                   if   (Form_Query->EditName->Text   !=   "")   {  
                          MSExcel.OlePropertyGet("ActiveWorkBook").OlePropertyGet("ActiveSheet").OlePropertyGet("Cells",i,j).OlePropertySet("NumberFormat","@");  
                          MSExcel.OlePropertyGet("ActiveWorkBook").OlePropertyGet("ActiveSheet").OlePropertyGet("Cells",i,j).OlePropertySet("Value",Query_Ry->FieldByName("姓名")->AsString);  
                          j   ++;  
  //                   }  
                    if   (Form_Query->EditDept->Text   !=   "")   {  
                          MSExcel.OlePropertyGet("ActiveWorkBook").OlePropertyGet("ActiveSheet").OlePropertyGet("Cells",i,j).OlePropertySet("NumberFormat","@");  
                          MSExcel.OlePropertyGet("ActiveWorkBook").OlePropertyGet("ActiveSheet").OlePropertyGet("Cells",i,j).OlePropertySet("Value",Query_Ry->FieldByName("部门")->AsString);  
                          j   ++;  
                    }  
                    if   (Form_Query->EditSex->Text   !=   "")   {  
                          MSExcel.OlePropertyGet("ActiveWorkBook").OlePropertyGet("ActiveSheet").OlePropertyGet("Cells",i,j).OlePropertySet("NumberFormat","@");  
                          MSExcel.OlePropertyGet("ActiveWorkBook").OlePropertyGet("ActiveSheet").OlePropertyGet("Cells",i,j).OlePropertySet("Value",Query_Ry->FieldByName("性别")->AsString);  
                          j   ++;  
                    }  
  .  
  .  
  .  
          Query_Ry->Next();  
                    }  
                    MSExcel.OlePropertyGet("ActiveWorkBook").OleProcedure("SaveAs",SaveDialog1->FileName);  
                    MSExcel.OlePropertyGet("ActiveWorkBook").OleProcedure("Close");  
              }  
              catch(...)   {  
                    Application->MessageBox("没有安装Microsoft   Excel办公软件!","系统信息",MB_OK+MB_ICONWARNING);  
          }  
        }                 Top

3 楼jxhywdh(wdhwdh)回复于 2001-08-22 14:28:10 得分 10

其实   你的提示信息       没有安装Microsoft   Excel办公软件!  
  有误   !!!   在执行任何有错的语句时   都提示该信息!!Top

4 楼whitelion(www.ccproj.com)回复于 2001-08-22 14:30:47 得分 0

upTop

5 楼ie4888(布袋)回复于 2001-08-22 14:58:16 得分 0

哪,为何记录少时可以输出到Excel文件,有时又不可以(即使只有一条记录)??在集成环境下,提示内存某处写错误。Top

6 楼ie4888(布袋)回复于 2001-08-22 15:34:00 得分 0

执行到MSExcel.OlePropertyGet("WorkBooks").OleProcedure("Add");  
  出错Top

7 楼sw0324(无聊ing)回复于 2001-08-22 15:47:24 得分 0

gzTop

8 楼hz_tiger(乳虎)回复于 2001-08-22 16:29:29 得分 0

upTop

9 楼wujinbao(abao)回复于 2001-08-22 16:32:51 得分 30

这种方法太慢了!!Top

10 楼ie4888(布袋)回复于 2001-08-22 16:51:52 得分 0

wujinbao(飞扬草) :如何能快???Top

11 楼zzzsssccc(今天正为明天后悔)回复于 2001-08-22 17:19:47 得分 10

这是一个内存的问题:你可以让excel在开始的时候显示,好像就行了  
  MSExcel.OlePropertySet("Visible",True);  
  你试试  
   
   
  Top

12 楼ie4888(布袋)回复于 2001-08-22 17:34:30 得分 0

MSExcel.OlePropertySet("Visible",True);不行的Top

13 楼ie4888(布袋)回复于 2001-08-22 17:37:50 得分 0

如果用TExcelApplication  
  Tep->ActiveWorkbook->Sheets[0]->Cells->set_Item(1,1,"Name")  
  提示                                   ————————   处有错,好像时指针常量的错误,  
  上面的写法对吗?不对,应如何改写?       Top

14 楼ie4888(布袋)回复于 2001-08-23 08:17:51 得分 0

谢谢各位,我昨夜看了一夜的BCB源代码和VBA的Help,总算搞懂了。Top

相关问题

  • 急盼!!!请高手指点!
  • 急!求高手指点。关于FASTREPORT导出EXCEL问题?
  • 迷茫中,急盼高人指点。
  • 在线急盼高手指点
  • 急,请指点!
  • 急需指点
  • 请Excel高手指点
  • 急需高手指点:ASP生成Excel文件后打印设置问题
  • 盼 高 手 指 点
  • 急....太侠指点

关键词

  • excel
  • 安装
  • 文件
  • 软件
  • application
  • microsoft
  • olepropertyget
  • msexcel
  • olepropertyset
  • activeworkbook

得分解答快速导航

  • 帖主:ie4888
  • jxhywdh
  • wujinbao
  • zzzsssccc

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo