亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

如何將幾個DBGRID里的內容導入同一個EXCEL表中....的問題

2019-11-18 18:02:59
字體:
來源:轉載
供稿:網友
 

http://dev.csdn.net/article/53/53442.shtm
如何將幾個DBGRID里的內容導入同一個Excel表中?
在軟件實際制作中,為節省開發成本和開發周期,一些軟件人員通常會吧DBGrid中的數據直接導出到Excel表中,而先前能看到的函數僅僅只能在WorkBook的一個Sheet中導入數據,不支持多Sheet!。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

單元應用:
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, DBTables, Grids, DBGrids, ActiveX, ComObj,
Excel2000, OleServer;

PRocedure CopyDbDataToExcel(Args: array of const);
var
  iCount, jCount: Integer;
  XLApp: Variant;
  Sheet: Variant;
  I: Integer;
begin
  Screen.Cursor := crHourGlass;
  if not VarIsEmpty(XLApp) then
  begin
    XLApp.DisplayAlerts := False;
    XLApp.Quit;
    VarClear(XLApp);
  end;

  try
    XLApp := CreateOleObject(‘Excel.application‘);
  except
    Screen.Cursor := crDefault;
  Exit;
  end;

  XLApp.WorkBooks.Add;//  (1)
  XLApp.SheetsInNewWorkbook := High(Args) + 1;//  (2)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  XLApp.SheetsInNewWorkbook := High(Args) + 1;
  XLApp.WorkBooks.Add; 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  for I := Low(Args) to High(Args) do
  begin
    XLApp.WorkBooks[1].WorkSheets[I+1].Name := TDBGrid(Args[I].VObject).Name;
    Sheet := XLApp.Workbooks[1].WorkSheets[TDBGrid(Args[I].VObject).Name];

    if not TDBGrid(Args[I].VObject).DataSource.DataSet.Active then
    begin
      Screen.Cursor := crDefault;
      Exit;
    end;

    TDBGrid(Args[I].VObject).DataSource.DataSet.first;
    for iCount := 0 to TDBGrid(Args[I].VObject).Columns.Count - 1 do
      Sheet.Cells[1, iCount + 1] := TDBGrid(Args[I].VObject).Columns.Items[iCount].Title.Caption;

    jCount := 1;
    while not TDBGrid(Args[I].VObject).DataSource.DataSet.Eof do
    begin
      for iCount := 0 to TDBGrid(Args[I].VObject).Columns.Count - 1 do
        Sheet.Cells[jCount + 1, iCount + 1] := TDBGrid(Args[I].VObject).Columns.Items[iCount].Field.AsString;

      Inc(jCount);
      TDBGrid(Args[I].VObject).DataSource.DataSet.Next;
    end;
  end;

  XlApp.Visible := True;
  Screen.Cursor := crDefault;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
經過測試,上面這段代碼確實有問題:(有興趣的朋友可以自己測試一下)

比如:
先form1.CopyDbDataToExcel([dbgrid1,dbgrid2,dbgrid3]);//OK
再form1.CopyDbDataToExcel([dbgrid1,dbgrid2,dbgrid,dbgrid4]);//這樣就出錯,提示:無效索引

如果這樣:
先form1.CopyDbDataToExcel([dbgrid1,dbgrid2,dbgrid3,dbgrid4]);//OK
再form1.CopyDbDataToExcel([dbgrid1,dbgrid2]);//OK

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
總之:先少后多,就出錯...
原因就出在上面代碼(1),(2)兩段上,經過測試,正確的應該將(1),(2)代碼對調,才能保證不出錯....



上一篇:遠程得到任意遠程NT主機帳號List的源代碼

下一篇:GetPartFilter+SumStocklist

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美午夜视频一区二区| 久久久久久91香蕉国产| 精品日韩美女的视频高清| 中文字幕一区日韩电影| 高清欧美电影在线| 日韩欧美在线观看视频| 国产成人精品久久二区二区| 久久亚洲电影天堂| 亚洲自拍偷拍在线| 国产日韩av在线播放| 在线观看国产精品淫| 欧美专区国产专区| 日韩欧美亚洲范冰冰与中字| 成人久久久久久| 精品视频在线导航| 日韩中文字幕视频在线| 久久九九热免费视频| 92国产精品视频| 色久欧美在线视频观看| 欧美成人精品激情在线观看| 国产成人综合一区二区三区| 日韩中文字幕欧美| www.久久色.com| 全色精品综合影院| 日韩美女在线观看一区| 国产精品免费福利| 精品久久久在线观看| 国产精品999| 欧美日韩另类视频| 青草热久免费精品视频| 国产精品美女久久久久久免费| 最近中文字幕mv在线一区二区三区四区| 欧美激情一区二区三级高清视频| 日韩高清电影免费观看完整| 亚洲全黄一级网站| 久久久www成人免费精品| 欧美色图在线视频| 久久欧美在线电影| 久久精品一本久久99精品| 国产日韩欧美在线播放| 精品久久久久久电影| 啊v视频在线一区二区三区| 亚洲一级一级97网| 欧美午夜精品久久久久久浪潮| 成人网在线免费看| 国产精自产拍久久久久久蜜| 国产精品第三页| 亚洲va男人天堂| 欧美性猛交丰臀xxxxx网站| 国产精品视频网站| 欧美最猛黑人xxxx黑人猛叫黄| 国产精品视频永久免费播放| 日韩国产欧美区| 久久久久国产精品www| 日本a级片电影一区二区| 久久这里只有精品99| 国产精品久久在线观看| 欧美视频第一页| 成人精品视频99在线观看免费| 欧美电影在线观看| 亚洲精品综合久久中文字幕| 色综合色综合网色综合| 精品国产美女在线| 不卡毛片在线看| 97人人爽人人喊人人模波多| 538国产精品一区二区免费视频| 久久色精品视频| 欧美激情综合色综合啪啪五月| 国产免费一区视频观看免费| 欧美在线亚洲一区| 欧美www视频在线观看| 亚洲性生活视频在线观看| 日本韩国欧美精品大片卡二| 91久久国产精品| 亚洲人免费视频| 国产精品美女av| 国产情人节一区| 亚洲欧美中文日韩在线| 国产精品久久久91| 亚洲国语精品自产拍在线观看| 日韩欧美成人精品| 欧美一区三区三区高中清蜜桃| 日韩免费观看在线观看| 亚洲成人免费在线视频| 欧美孕妇性xx| 粗暴蹂躏中文一区二区三区| 一区二区三区在线播放欧美| 欧美日韩亚洲成人| 欧美精品免费看| 国产一区二区美女视频| 911国产网站尤物在线观看| 青草热久免费精品视频| 69久久夜色精品国产69| 国产精品一区二区av影院萌芽| 欧美激情第1页| 日韩中文字幕在线精品| 中文国产亚洲喷潮| 欧美性猛交xxxx乱大交极品| 日韩在线免费av| 日韩欧美精品在线观看| 欧美资源在线观看| 欧美壮男野外gaytube| 国产精品第二页| 欧美肥臀大乳一区二区免费视频| 欧美成人午夜免费视在线看片| 日韩国产中文字幕| 亚洲影院高清在线| 69久久夜色精品国产7777| 高清日韩电视剧大全免费播放在线观看| 国产网站欧美日韩免费精品在线观看| 黄色成人av在线| 色偷偷91综合久久噜噜| 欧美成人精品一区二区| 国产精品狠色婷| 久久影视免费观看| 中文字幕一区日韩电影| 国产精品美女在线| 国产精品免费网站| 国内久久久精品| 日本精品视频在线| 91香蕉嫩草影院入口| 日韩精品视频在线观看网址| 亚洲国内高清视频| 97精品久久久中文字幕免费| 亚洲免费小视频| 国内精品一区二区三区| 国产精品最新在线观看| 日本久久亚洲电影| 亚洲男人天堂手机在线| 亚洲视频在线观看免费| 亚洲国产精品va在线看黑人| 亚洲男人天堂2024| 久久久久久久爱| 全色精品综合影院| 狠狠躁夜夜躁人人躁婷婷91| 久久香蕉精品香蕉| 一区二区国产精品视频| 91精品国产高清久久久久久91| 成人h视频在线观看播放| 欧美激情精品久久久久久变态| 青青久久av北条麻妃海外网| 91精品久久久久久久久青青| 国内免费精品永久在线视频| 色偷偷噜噜噜亚洲男人的天堂| 亚洲欧美国产高清va在线播| 欧美性猛交xxxx乱大交极品| 欧美整片在线观看| 国产成人一区二区三区| 久久天天躁狠狠躁夜夜爽蜜月| 日韩欧美在线观看| 美女扒开尿口让男人操亚洲视频网站| 欧美日韩免费看| 国产精品三级美女白浆呻吟| 国产精品www色诱视频| 97精品一区二区视频在线观看| 97成人精品视频在线观看| xx视频.9999.com| 日韩中文字幕视频在线观看| 日韩欧美在线一区| 欧美性猛交xxxx免费看漫画| 成人免费观看49www在线观看| 欧美电影电视剧在线观看| 欧美影院久久久| 久久久久日韩精品久久久男男|