原始数据        导出到xls后,再打开显示
 1-1-1           2001-1-1
 1-1-2           2002-1-1
 1-1-3           2003-1-1
 1-1-4           2004-1-1
我是用
xlsApp,WorkBook:Variant;
xlsApp:=CreateOleObject('Excel.Application');
xlsApp.Visible := False;
WorkBook:=CreateOleobject('Excel.Sheet');
WorkBook:=xlsApp.WorkBooks.Add;
xlsApp.Cells(iRecordNo_Inc_3, iField_Inc_1) := ADOQuery_GetResRecord.Fields[iField].AsString;
这样做的,请问是怎么回事呢?是Excel设置的问题,还是导入时就自动转换的呢?
请指教一二了,不胜感激啊 :)

解决方案 »

  1.   

    第二问:有没有办法让Excel单页行数超过65536呢?
      

  2.   

    我没有导入过Excel,但我熟悉Excel,Excel有自动转换的功能,而且每个单元格都是有很多种格式可选,默认情况下会有自动转换,您可以先把单元格的格式设置为文本格式后就不会转换了。
      

  3.   

    把你上边数据类型发生改变的列保存为文本类型,代码如下:
     Sheet1.Columns[i].NumberFormat:='@';
      

  4.   

    搭下線,我也遇到個相似問題:把身份證號轉Excel時顯示不全,如452421198912151057會顯示成452421198912151000.00 或4.52421E+17等等。我知道把Excel該列的屬性改成“文字”類型就可以了,可怎麼在Delphi上實現先修改Excel的屬性在轉?謝謝!
      

  5.   

    xlsApp.Cells(iRecordNo_Inc_3, iField_Inc_1) := ''''+ ADOQuery_GetResRecord.Fields[iField].AsString;