1.從SQL數據庫表單導出Excel文件,如字段Bank_No數據類型為Varchar(50),在數據庫中 顯示的正常,而導出為Excel文件顯示確為4.31E+14形式???(如銀行賬號它的值都是數字)
2.最好能提供SQL數據庫表單導出為Excel文件的兩種方法:
  a.產生一個新的Excel文件
  b.導入到一個Excel文件模板中
謝謝了!

解决方案 »

  1.   

    自己用的一个过程,把数据集导如导excel,adsdata可以换成任意你用导的数据集
    WriteExcel(AdsData:Tclientdataset; sName, Title: string);
    var
      ExcelApplication1: TExcelApplication;
      ExcelWorksheet1: TExcelWorksheet;
      ExcelWorkbook1: TExcelWorkbook;
      i, j: integer;
      filename: string;
    begin
      filename := concat(sName, '.xls');
      try
        ExcelApplication1 := TExcelApplication.Create(Application);
        ExcelWorksheet1 := TExcelWorksheet.Create(Application);
        ExcelWorkbook1 := TExcelWorkbook.Create(Application);
        ExcelApplication1.Connect;
      except
        Application.Messagebox('Excel没有安装!','Hello',MB_ICONERROR + mb_Ok);
        Abort;
       end;
       try
         ExcelApplication1.Workbooks.Add(EmptyParam, 0);
         ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
         ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet);
         AdsData.First;
        for j := 0 to AdsData.Fields.Count - 1 do
        begin
          ExcelWorksheet1.Cells.item[3, j + 1] := AdsData.Fields[j].DisplayLabel;
          ExcelWorksheet1.Cells.item[3, j + 1].font.size :='10';
        end;
        for i := 4 to AdsData.RecordCount + 3 do
        begin
          for j := 0 to AdsData.Fields.Count - 1 do
          begin
            ExcelWorksheet1.Cells.item[i, j + 1] :=
            AdsData.Fields[j].Asstring;
            ExcelWorksheet1.Cells.item[i, j + 1].font.size := '10';
          end;
          AdsData.Next;
      end;
      ExcelWorksheet1.Columns.AutoFit;
      ExcelWorksheet1.Cells.item[1, 2] := Title;
      ExcelWorksheet1.Cells.Item[1, 2].font.size :='14';
      ExcelWorksheet1.SaveAs(filename);
      Application.Messagebox(pchar('数据成功导出'+ filename),'信息化建设部',mb_Ok);
      finally
        ExcelApplication1.Disconnect;
        ExcelApplication1.Quit;
        ExcelApplication1.Free;
        ExcelWorksheet1.Free;
        ExcelWorkbook1.Free;
      end;
    end;
    --------------------------------------------------------------------
    看尽悲伤,庸人自扰不平事。叹尽荒凉,海阔天空谁人知。狂风劲兮,百花飘
    扬乱舞香。捏花一笑,海不扬波断肠心!