我想把dbgrid中的数据转化成excel的形式,可是我发现我数据库中字段(员工编号)如(002345)的第一二位是0,则转化后excel表格中出现的是数据的第一二位的0少掉了,结果转化后的数据是(2345),请问如何修改下述的代码才能解决这个问题呢?
procedure TForm7.SpeedButton6Click(Sender: TObject);
 var
  i, row, column,icount: integer;
   ExcelApplication1: TExcelApplication;
    ExcelWorkbook1: TExcelWorkbook;
    ExcelWorksheet1: TExcelWorksheet;begin
  if application.MessageBox('确定要倒出记录吗?','倒出记录',mb_okcancel)=idok then
     begin
Try
    ExcelApplication1 := TExcelApplication.Create(Application);
    ExcelWorksheet1 := TExcelWorksheet.Create(Application);
    ExcelWorkbook1 := TExcelWorkbook.Create(Application);    ExcelApplication1.Connect;
  Except
    MessageDlg('Excel may not be installed',
      mtError, [mbOk], 0);
    Abort;
  End;
  ExcelApplication1.Visible[0] := True;
  ExcelApplication1.Caption := 'Excel Application';
  ExcelApplication1.Workbooks.Add(Null, 0);
  ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
  ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);
  DBGrid1.DataSource.DataSet.Open;
for iCount := 0 to dbgrid1.Columns.Count - 1 do
begin
ExcelWorksheet1.cells.Item[1, iCount + 1] := dbgrid1.Columns.Items[iCount].Title.Caption;
end;
 row := 2;
  While Not (DBGrid1.DataSource.DataSet.Eof) do
  begin
    column := 1;
    for i := 1 to DBGrid1.DataSource.DataSet.FieldCount do
    begin
      ExcelWorksheet1.Cells.Item[row, column] := DBGrid1.DataSource.DataSet.fields[i - 1].AsString;
      column := column + 1;
    end;
    DBGrid1.DataSource.DataSet.Next;
    row := row + 1;
  end;
   ExcelApplication1.Disconnect;
    //ExcelApplication1.Quit;
    ExcelApplication1.Free;
    ExcelWorksheet1.Free;
    ExcelWorkbook1.Free;
 end;
end;