我用CXGRID控件, 进行导出到EXCEL后, 再进行打开导出文件时,会出现重新命名无效的工作表名称. 按确定后可以打开.请问一下,如果去掉这一提示, 是EXCEL的版本问题,还是其它,我用的是EXCEL2000  

解决方案 »

  1.   

    因为它有Bug,你导出时别用中文名就好了
    或者找源代码,把Bug修正,其实就是在处理双字节字符的地方弄错了而已
      

  2.   

    lake_cx ,看名字就与这些控件有关系,所以楼主就按他说的做吧,准没错儿,嘿嘿
      

  3.   

    不行我的情形是这样的.
    我导出的数据名是抄收数据.XLS.在打开时,会出现如下出错提示:Excel在"抄写数据.xls"中发现不可读取内容,是否恢复此工作簿的内容,请点击"是".点击是时,会出现重新命名无效的工作表名称.点击关闭后,就可以打开这个表了.
    麻烦那位高手再帮助解决一下?
      

  4.   

    在cxXLSExport.pas中
    把下面这段代码
      ASheetPos := FStream.Position + 4;
      xlsWriteBuffer([XLS_BoundSheet, Length(FSheetName) * 2 + 8, 0, 0, 0]);
      B := Length(FSheetName);
      FStream.WriteBuffer(B, SizeOf(B));
      B := 1;
      FStream.WriteBuffer(B, SizeOf(B));
      W := cxStrToUnicode(FSheetName);
      FStream.WriteBuffer(W[1], Length(W) * 2);
    替换成
      ASheetPos := FStream.Position + 4;
      W := cxStrToUnicode(FSheetName);
      xlsWriteBuffer([XLS_BoundSheet, Length(W) * 2 + 8, 0, 0, 0]);
      B := Length(W);
      FStream.WriteBuffer(B, SizeOf(B));
      B := 1;
      FStream.WriteBuffer(B, SizeOf(B));
      FStream.WriteBuffer(W[1], Length(W) * 2);
      

  5.   

    代码在1311行,改了源代码后记得要使用修改后的源代码编译
    例如把源代码另存,并加入到你的项目中,放到.prj文件的use中的较为靠前的位置
    或者在Delphi的Library中把C:\Program Files\Developer Express Inc\ExpressQuantumGrid\Delphi 7\Sources放到最前面
      

  6.   

    楼上的,你是导出主子表的cxgrid吗?