新手,忘高手指点
我在使用TAdvStringGrid控件时,文不数据能正常导入,导出后发现格式异常,例如:导入文本数据为“1630001000000105269967”,导出后在EXCEL中显示为“1.6300010000001E+21”,请问导出到EXCEL格式怎么控制,比如要使导入到EXCEL的数据格式仍然是文本数据?

解决方案 »

  1.   

    这是导出的类型为Float造成的,你应该改为文本类型导出。数值的结果,是你的值超出Float类型的有效范围,采用科学记忆方式导出。
      

  2.   

    默认是把纯数字字符当成数字处理的,可以控制数字显示格式:
    Sheet.Cells[1,1].NumberFormat:='#0.0000';
    边框:
    Sheet[1,1].Borders.LineStyle:=xxxxx
    水平对齐:
    Sheet[1,1].HorizontalAlignment:=xxxx
    xxx值可以看delphi的ExcelXP.pas单元(一个类型库,delphi已经导入的)excel,word等格式控制,网上一大把
      

  3.   

    for i:=1 to lCols do
          begin
    //      @跟后面的单引号之间留出一个空格就可
    //       FApp.Columns[i].NumberFormat:='@'; 会显示64,需点击才显示正确 xe2 ,delphi7没有
            AExcel.Application.Columns[i].NumberFormat:='@ ';
          end;