假设TDBGridEh表格的数据格式是:
0001
0002
0003
....用SaveDBGridEhToExportFile导出后,变成了:
1
2
3
......请问,用SaveDBGridEhToExportFile导出后如何保持原格式:
0001
0002
0003
....

解决方案 »

  1.   

    谁处理过类似的问题?如果换成另一种处理方法,即在sql语句里的数字字符串前面加上一个不可见字符,是否能克服上述问题?假设能克服上述问题,在SQL语句里如何在数字字符串前面加上不可见字符?
    sql.Add('select user_id from E1.DBO.[20100101]');在数据库里user_id的值是:
    0001
    0002
    0003
    ....
      

  2.   

    哎,楼主,这是Excel单元格的问题,要设置单元格为字符型,默认是数字,数字前面的0当然就会去掉啦.
      

  3.   

    aql.add(select '''' + col1 as col1a from tablename);在excel中要使数字单元格以文本显示,可以设置单元格的属性,也可以在数字前加一个半角单引号符号(');但是我没有试过这样子做会不会在dbgrideh中显示一个'出来。你试试。。另外也可以试试加一个空格试试。
      

  4.   

    aql.add(select '''' + col1 as col1a from tablename);
    用这种方法加空格后,导出到.xls表格式还是会丢掉数字字符前头的0字符没错,我想到excel单元格数据类型问题了,可是导出时已经丢失数字字符串前头的0了,再设置单元格的数据类型已经来不及了
      

  5.   

    如果是导出为excel的话,要看你原表的内容,如果是字符型的数字,dbgrideh导出时会保持原样的
      

  6.   

    我原表(sql server2000)时字符型的,可是导出时,数字字符串前头的0全丢了
      

  7.   

    我原表(sql server2000)是字符型的,可是导出时,数字字符串前头的0全丢了