DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: laidabin
今日帖子: 2
在线用户: 15
导航: 论坛 -> 论坛精华贴 斑竹:liumazi,iamdream  
作者:
男 itlongxin (龙飘渺) ★☆☆☆☆ -
盒子活跃会员
2003/4/7 13:58:12
标题:
数据导出为Excel格式 浏览:26224
加入我的收藏
楼主: 首先要创建一个公共单元,名字你们可以随便起。
以下是我创建的公共单元的全部代码:
unit UnitDatatoExcel;
interface
uses
  Windows,Messages, SysUtils, Classes, Graphics, Controls, Forms,Dialogs,
  DB, ComObj;
type
  TKHTMLFormatCellEvent = procedure(Sender: TObject; CellRow,CellColumn: Integer; FieldName: string;
    var CustomAttrs, CellData: string) of object;
  TDataSetToExcel = class(TComponent)
  private
    FDataSet: TDataSet;
    FOnFormatCell: TKHTMLFormatCellEvent;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure Transfer(const FileName: string; Title: string = ');
  published
    property DataSet: TDataSet read FDataSet write FDataSet;
  end;
implementation
constructor TDataSetToExcel.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FDataSet := nil;
end;
destructor TDataSetToExcel.Destroy;
begin
  inherited;
end;
procedure TDataSetToExcel.Transfer(const FileName:string;Title:string = ');
var
  ExcelApp, MyWorkBook: Variant;
  i: byte;
  j, a: integer;
  s, k, b, CustomAttrs: string;
begin
  try
    ExcelApp := CreateOleObject('Excel.Application');
    MyWorkBook := CreateOleObject('Excel.Sheet');
  except
    on Exception do raise exception.Create('无法打开Excel文件,请确认已经安装Execl')
  end;
  MyWorkBook := ExcelApp.WorkBooks.Add;
  MyWorkBook.WorkSheets[1].Range['A1:D1'].Merge(True);
  MyWorkBook.WorkSheets[1].Range['A1:D2'].HorizontalAlignment := $FFFFEFF4;
  MyWorkBook.WorkSheets[1].Cells[1, 1].Value := Title;
  with FDataSet do
  begin
    i := 2;
    for j := 0 to FieldCount - 1 do
    begin
      if Fields[j].Visible then
      begin
        b := Fields[j].DisplayLabel;
        CustomAttrs := ';
        if Assigned(FOnFormatCell) then
          FOnFormatCell(Self, 1, i,
            Fields[j].FieldName, CustomAttrs, b);
        MyWorkBook.WorkSheets[1].Cells[i, j + 1].Value := b;
      end;
    end;
    i := 3;
    Close;
    Open;
    First;
    a := 2;
    while not Eof do
    begin
      for j := 0 to FieldCount - 1 do
      begin
        if Fields[j].Visible then
        begin
          CustomAttrs := ';
          k := Fields[j].Text;
          if Assigned(FOnFormatCell) then
            FOnFormatCell(Self, i, a,
              Fields[j].FieldName, CustomAttrs, k);
          MyWorkBook.WorkSheets[1].Cells[i, j + 1].Value := k;
          inc(a);
        end;
      end;
      Inc(i);
      Next;
    end;
  end;
  s := 'A3:D' + IntToStr(i - 1);
  s := 'A1:D' + IntToStr(i - 1);
  MyWorkBook.WorkSheets[1].Columns[1].ColumnWidth := 20;
  MyWorkBook.WorkSheets[1].Columns[4].ColumnWidth := 25;
  MyWorkBook.WorkSheets[1].Rows[1].RowHeight := 50;
  MyWorkBook.WorkSheets[1].Rows[1].VerticalAlignMent := $FFFFEFF4;
  MyWorkBook.WorkSheets[1].Range[s].Font.Name := '仿宋';
  s := 'A2:D' + IntToStr(i - 1);
  MyWorkBook.WorkSheets[1].Range[s].Borders.LineStyle := 1;
  MyWorkBook.WorkSheets[1].PageSetup.CenterHorizontally := True;
  MyWorkBook.WorkSheets[1].PageSetup.PrintTitleRows := 'A1';
  try
    MyWorkBook.Saveas(FileName);
    MyWorkBook.Close;
  except
    MyWorkBook.Close;
  end;
  ExcelApp.Quit;
  ExcelApp := UnAssigned;
end;
end.
然后在调用它的单元里引用它就行了。
下面是调用它的代码:
procedure ToGetherExcel(NewData: TDataSet; NewString: string);
var
  DataExcel: TDataSetToExcel;
  saveDlg: TSaveDialog;
begin
  saveDlg := TSaveDialog.Create(nil);  //创建一个存储对话框
  DataExcel := TDataSetToExcel.Create(nil);
  try
    saveDlg.Filter := 'Execl 文件(*.XLS)|*.XLS';
    saveDlg.DefaultExt := 'XLS';
    saveDlg.FileName := NewString;
    if saveDlg.Execute then
    begin
      DataExcel.DataSet := NewData;  //连接的数据集
      DataExcel.DataSet.DisableControls;
      DataExcel.Transfer(saveDlg.FileName, NewString);
      DataExcel.DataSet.EnableControls;
      AlterMesg('导出完毕', '提示信息');
    end;
  finally
    saveDlg.Free;
    DataExcel.Free;
  end;
end;
如果谁还有比着更好的办法,请告诉我,咱们共同进步:)
----------------------------------------------
按此在新窗口浏览图片
作者:
男 itlongxin (龙飘渺) ★☆☆☆☆ -
盒子活跃会员
2003/4/8 8:07:59
1楼: 怎么没有人给提意见呀,不会是不能用吧?:):):):(
----------------------------------------------
按此在新窗口浏览图片
作者:
女 123 (猪猪) ★☆☆☆☆ -
盒子活跃会员
2003/4/8 9:11:26
2楼: 可以帖长帖子了:)
代码应该没有问题哦,我以前做得也和这个差不多。
----------------------------------------------
-
作者:
男 itlongxin (龙飘渺) ★☆☆☆☆ -
盒子活跃会员
2003/4/10 17:36:39
3楼: :):):)

^_^
按此在新窗口浏览图片
----------------------------------------------
按此在新窗口浏览图片
作者:
男 zxg (zxg) ★☆☆☆☆ -
普通会员
2003/4/30 11:51:47
4楼: 我试用了一下还可以。
----------------------------------------------
-
作者:
男 itlongxin (龙飘渺) ★☆☆☆☆ -
盒子活跃会员
2003/5/23 10:32:58
5楼: 我这里还有一个可以导出为网页格式的,谁要。跟我说一声。
如果要的人多了,我在这里在发表一篇。
按此在新窗口浏览图片 按此在新窗口浏览图片 按此在新窗口浏览图片
----------------------------------------------
按此在新窗口浏览图片
作者:
女 okok1000 (okok1000) ★☆☆☆☆ -
普通会员
2003/5/23 16:32:42
6楼: 用此函数,可以把DBGrid中的数据导成EXCEL表
procedure ExportToExcel(aGrid : TwwDBgrid);
begin
  with aGrid,aGrid.ExportOptions do
     begin
      ExportType :=wwgetSYLK;//导出的格式
      FileName := 'export.slk';//文件名称
      Save;
      if not(esoClipboard in Options) then
      ShellExecute(Handle, 'Open', PChar(agrid.exportoptions.Filename), nil, nil, sw_shownormal);//查看
   end;
end;

程序中调用
ExportToExcel(DBGrid);

----------------------------------------------
-
作者:
男 hedong (hedong) ★☆☆☆☆ -
盒子活跃会员
2003/5/23 18:04:58
7楼: 6楼的代码适合与TwwDBgrid控件,不能在DBGrid中使用.
我的函数:


procedure TfrmGlobal.DBGridInFoToExcel(FileName, TitleCaption: string;
  MakeDataSource: TDataSource; makeDBGrid: TDBGrid);
var
     xlApp, xlSheet, szValue: Variant;
     ARow, iLoop: word;
begin
     xlApp := CreateOleObject('Excel.Application');
     try
         xlSheet := CreateOleObject('Excel.Sheet');
         xlSheet := xlApp.WorkBooks.Add;
         
         // 主标题
          xlSheet.WorkSheets[1].Cells[1,1] := TitleCaption;
         
    //  表格标题     
         for iLoop := 0 to makeDBGridEh.Columns.Count - 1 do
              xlSheet.WorkSheets[1].Cells[2, iLoop+1] := makeDBGridEh.Columns[iLoop].Title.Caption;

         // 数据
         ARow := 3;
         with MakeDataSource.DataSet do
         begin
              DisableControls;
              First;
              while not Eof do
              begin
                   for iLoop := 0 to Fields.Count - 1 do
                   begin
                       szValue := Fields[iLoop].Value;
                       xlSheet.WorkSheets[1].Cells[ARow, iLoop+1] := szValue;
                   end;
                   Inc(ARow);
                   Next;
              end;
              First;
              EnableControls;
         end;

         try
              xlSheet.SaveAs(FileName);
              Application.MessageBox('导出完毕!', '提示', MB_IconExclamation);
         finally
              xlSheet.Close;
              xlApp.Quit;
              xlApp := UnAssigned;
         end;
     except
          MessageBox(handle, '本机没有安装Excel.', '提示',MB_IconExclamation);
     end;

end;

----------------------------------------------
-
作者:
女 yjcheng (sunny) ★☆☆☆☆ -
盒子活跃会员
2003/5/31 22:19:15
8楼: 速度怎么样啊,我做了一个StringGrid导出到EXCEL,EXCEL的CELLS是一个一个的写,太慢了,,导5000条记录大概要多少时间,以秒计,有谁作过测试吗,请告诉我,谢谢!
----------------------------------------------
-
作者:
男 benlen (咸鱼) ★☆☆☆☆ -
普通会员
2003/7/31 8:22:12
9楼: 好文章,7楼的好,我顶
----------------------------------------------
-
作者:
男 wolfish (wolfish) ★☆☆☆☆ -
普通会员
2003/8/4 9:35:29
10楼: 我是个港入门的,怎么用呀?请教了文字

----------------------------------------------
-
作者:
男 fengyhf (fengyhf) ★☆☆☆☆ -
普通会员
2003/8/19 21:54:25
11楼: 在这里如何设置Excel单元格的格式?
因为有时导出比较长的数字时,出现变为科学计算法的形式!
bg:
IDCard 123456789012345678

 导出后变化为1.25H + J
----------------------------------------------
-
作者:
男 wzdwzd ( ) ★☆☆☆☆ -
禁用账号
2003/9/15 20:32:42
12楼: ……
被禁用帐号,帖子内容自动屏蔽!
……

----------------------------------------------
-
作者:
男 wxs0092 (飞天200) ★☆☆☆☆ -
盒子活跃会员
2003/9/28 21:50:20
13楼: 好高深啊!!
----------------------------------------------
-
作者:
男 bryan (bao) ★☆☆☆☆ -
盒子活跃会员
2003/9/28 23:10:42
14楼: To:11楼,要想保持原样,可以在对excel单元格附值时,在内容前面
加个单引号,excel就会把它当字符来处理了.
   
 xlSheet.WorkSheets[1].Cells[ARow, iLoop+1] := 
    ''+dataset.Fields[iLoop].asstring;
----------------------------------------------
-
作者:
男 wzdwzd ( ) ★☆☆☆☆ -
禁用账号
2003/10/9 16:21:31
15楼: ……
被禁用帐号,帖子内容自动屏蔽!
……

----------------------------------------------
-
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2003/11/24 21:03:35
16楼: 宝贝啊 学习!
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
作者:
男 chenjgy (来晚了) ★☆☆☆☆ -
盒子活跃会员
2003/11/30 10:48:07
17楼: 不知道搂住这个方法倒出的速度怎么样
----------------------------------------------
-
作者:
男 xingkongcanlan (星空) ★☆☆☆☆ -
普通会员
2003/11/30 20:31:26
18楼: 不动不动!
----------------------------------------------
发白才知智叟呆,埋头苦干向未来;\r\n勤能补挫是良剂,一份辛苦一份才.
作者:
男 altnyu (宁宇) ★☆☆☆☆ -
盒子活跃会员
2003/12/2 17:23:13
19楼: 太值得学习了!!!!感谢
----------------------------------------------
-
作者:
男 zqsoft ( ) ★☆☆☆☆ -
普通会员
2003/12/9 10:55:30
20楼: 谢谢这么多位楼上,在下深感惭愧!以后多来学习才行
----------------------------------------------
-
作者:
男 zhangjw9 (zhangjw9) ★☆☆☆☆ -
盒子活跃会员
2003/12/11 0:35:30
21楼: 写得很好,我已经用再我的程序上了,谢谢各位大虾
----------------------------------------------
-我们一直在努力
作者:
女 hljlzh80 (any) ★☆☆☆☆ -
盒子活跃会员
2003/12/11 9:04:51
22楼: 我最近就作把数据导出到excel里,速度还可以挺快的,不过我的数据不多,有1000条左右,一闪就过去了。我想如果5000条也不会感觉到慢,
----------------------------------------------
-
作者:
女 hljlzh80 (any) ★☆☆☆☆ -
盒子活跃会员
2003/12/11 9:10:34
23楼: 楼主我现在需要那个导出为网页的,能否指教一下,把那个程序发给我吧!?

我的email :hljlzh80@tom.com

thank you !
----------------------------------------------
-
作者:
男 arnotian (arnotian) ★☆☆☆☆ -
盒子活跃会员
2003/12/29 16:06:04
24楼: 有个叫XLReport的控件可以满足以上要求,并对速度做了优化,效果不错。当然还有其它功能,包括从多个数据集中取数据、自动保护生成的excel文件等等。不过是商业控件,一套要一千多$,带源码。大家可以先下载个测试版看看功能。
我买了正版的,呵呵。有人乐意用好的控件、源码或文档交换吗?
mail:arnotian@163.com
QQ:254622264
----------------------------------------------
-
作者:
男 ercnet (莫木) ★☆☆☆☆ -
盒子活跃会员
2004/1/5 19:06:06
25楼: 怎样把listview中数据导入到EXCEL表中??
----------------------------------------------
-
作者:
男 yfeng (伊风) ★☆☆☆☆ -
盒子活跃会员
2004/1/10 13:47:53
26楼: 怎么用呀!我是菜鸟~~~帮帮我
----------------------------------------------
~~~~~我爱delphi就像爱我的她~~~~~
作者:
男 freewyl (freewyl) ★☆☆☆☆ -
盒子活跃会员
2004/1/10 16:05:14
27楼: 我也不懂,7楼的那些语句应该放在什么地方:
procedure TfrmGlobal.DBGridInFoToExcel(FileName, TitleCaption: string;
  MakeDataSource: TDataSource; makeDBGrid: TDBGrid);
var
     xlApp, xlSheet, szValue: Variant;
     ARow, iLoop: word;
begin
     xlApp := CreateOleObject('Excel.Application');
     try
         xlSheet := CreateOleObject('Excel.Sheet');
         xlSheet := xlApp.WorkBooks.Add;
         
         // 主标题
          xlSheet.WorkSheets[1].Cells[1,1] := TitleCaption;
         
    //  表格标题     
         for iLoop := 0 to makeDBGridEh.Columns.Count - 1 do
              xlSheet.WorkSheets[1].Cells[2, iLoop+1] := makeDBGridEh.Columns[iLoop].Title.Caption;

         // 数据
         ARow := 3;
         with MakeDataSource.DataSet do
         begin
              DisableControls;
              First;
              while not Eof do
              begin
                   for iLoop := 0 to Fields.Count - 1 do
                   begin
                       szValue := Fields[iLoop].Value;
                       xlSheet.WorkSheets[1].Cells[ARow, iLoop+1] := szValue;
                   end;
                   Inc(ARow);
                   Next;
              end;
              First;
              EnableControls;
         end;

         try
              xlSheet.SaveAs(FileName);
              Application.MessageBox('导出完毕!', '提示', MB_IconExclamation);
         finally
              xlSheet.Close;
              xlApp.Quit;
              xlApp := UnAssigned;
         end;
     except
          MessageBox(handle, '本机没有安装Excel.', '提示',MB_IconExclamation);
     end;

end;

上面这些语句应该放在什么地啊???请各位指点。
----------------------------------------------
读好书可以净化心灵,交挚友能够升华人生。山外有山,能人背后自有更强能人在!
作者:
男 yfeng (伊风) ★☆☆☆☆ -
盒子活跃会员
2004/1/10 16:33:07
28楼: 请问怎么调用亚~~帮帮我~~~~
----------------------------------------------
~~~~~我爱delphi就像爱我的她~~~~~
作者:
男 yfeng (伊风) ★☆☆☆☆ -
盒子活跃会员
2004/1/12 9:10:10
29楼: 顶芽!!!
----------------------------------------------
~~~~~我爱delphi就像爱我的她~~~~~
作者:
男 ssyyxx (Startar) ★☆☆☆☆ -
盒子活跃会员
2004/1/14 16:54:34
30楼: 用EMS Quick Export Component Suite控件包。
有十来个控件,可以把一个数据集导出成Excel、RTF、HTML、CSV、DIFF、SYLK等格式,速度无敌。而且用不到Excel程序的支持。没有装Excel的机子也照导不误。
----------------------------------------------
-
作者:
男 yfeng (伊风) ★☆☆☆☆ -
盒子活跃会员
2004/1/14 18:01:10
31楼: 问一个很菜的问题!按此在新窗口浏览图片 就是用这些控件以后!打包时候怎么办?是不是也要把控件打包?还是编译的时候就已经封好了???
----------------------------------------------
~~~~~我爱delphi就像爱我的她~~~~~
作者:
男 foolbear (foolbear) ★☆☆☆☆ -
普通会员
2004/1/15 13:44:43
32楼: EMS Quick Export Component Suite控件包哪里有下的啊?
----------------------------------------------
-
作者:
男 yfeng (伊风) ★☆☆☆☆ -
盒子活跃会员
2004/1/15 16:40:57
33楼: 偶好笨!还是不会用!~!!!!那位大哥救救我呀!!!!
----------------------------------------------
~~~~~我爱delphi就像爱我的她~~~~~
作者:
男 jianghezi (jianghezi) ★☆☆☆☆ -
普通会员
2004/2/2 16:28:06
34楼: 早知道这么个方法就不用rave了,兄弟,你让rave的作者失业了
----------------------------------------------
-
作者:
男 blueyestar (蓝夜孤星) ★☆☆☆☆ -
盒子活跃会员
2004/3/13 15:36:27
35楼: 有人试过楼主的方法吗?
我执行到
MyWorkBook.WorkSheets[1].PageSetup.CenterHorizontally := True;
MyWorkBook.WorkSheets[1].PageSetup.PrintTitleRows := 'A1';
出错了,要怎么改呀?
----------------------------------------------
真正的程序员用C,聪明的程序员用DELPHI
作者:
男 yfeng (伊风) ★☆☆☆☆ -
盒子活跃会员
2004/3/15 10:18:37
36楼: 你的机器上有没有装打印机驱动
----------------------------------------------
~~~~~我爱delphi就像爱我的她~~~~~
作者:
男 chenpeng30 (浪子) ★☆☆☆☆ -
盒子活跃会员
2004/3/25 9:34:17
37楼: 哪有那个高手写一个控件来导导
----------------------------------------------
我是菜鸟,望大家多指教
作者:
男 yuanguoxing1976 (袁国星) ★☆☆☆☆ -
普通会员
2004/3/25 21:14:19
38楼: 我做的一个框架,可以放在窗体上。供最终用户使用,请大家指教。
此帖子包含附件:yuanguoxing1976_2004325211414.rar 大小:246.8K
----------------------------------------------
Email:yuanguoxing1976@163.com
QQ:172649628
作者:
男 yuanguoxing1976 (袁国星) ★☆☆☆☆ -
普通会员
2004/3/25 21:18:16
39楼: 刚发的控件中忘了包含进度窗体。只要把对OTHER的引用去掉将ShowProgress与CloseProgress去掉也就行了。
----------------------------------------------
Email:yuanguoxing1976@163.com
QQ:172649628
作者:
男 xiaose109 (好爱你老婆) ★☆☆☆☆ -
普通会员
2004/3/27 16:56:23
40楼: EMS Quick Export Component Suite控件包
哪有阿???请教了!!!
----------------------------------------------
-
作者:
男 zhaoli1128_333 (晨曦) ★☆☆☆☆ -
普通会员
2004/3/27 17:45:07
41楼: 文字
----------------------------------------------
-
作者:
男 itlongxin (龙飘渺) ★☆☆☆☆ -
盒子活跃会员
2004/4/9 11:47:44
42楼: 好久没有来,没想到这个帖子还在,心里感觉欣慰不少。
在这里想大家推荐一组控件,它不但可以导出Excel格式,还可以导出HTML格式,文本格式以及其它几种格式,并且不需要写多少代码,基本上是调用它自身的一个函数就可以,因为它本身带的有例子,所以我也就不在多说了。
控件的名称是ehlib,它是一组数据集控件,因为我不是太清楚这上面是不是已经有人传过这个控件,因此我也就不在上传了,以防重复。
如果斑竹知道没有传过的话,我可以把这组控件传上来,以供大家学习。
按此在新窗口浏览图片 按此在新窗口浏览图片 按此在新窗口浏览图片 按此在新窗口浏览图片 按此在新窗口浏览图片
----------------------------------------------
按此在新窗口浏览图片
作者:
男 kenny4cc (笨笨) ★☆☆☆☆ -
普通会员
2004/4/20 12:39:11
43楼: 太感激了,刚好用得上,特地上来感谢楼主的。
----------------------------------------------
-
作者:
男 jlbnet (路上的风) ★☆☆☆☆ -
盒子活跃会员
2004/4/21 18:30:24
44楼: 那有没有直接从 excel中读的?
----------------------------------------------
-
作者:
男 zwn (zwn) ★☆☆☆☆ -
盒子活跃会员
2004/5/25 20:56:03
45楼: 请问楼主的代码是用在哪个版本中哟!我的D6怎么通不过呢?或者是我调试不来?如何调试请指教?另7楼的代码我也不知如何调试,敬请各位指教?
----------------------------------------------
感谢给我帮助的朋友们!希望能够遇见你!祝福您一生平安!
作者:
男 jacky_2001 (金武) ★☆☆☆☆ -
普通会员
2004/5/26 8:48:56
46楼: 太感谢楼上的了,以前导出Excel碰到个科学计算的问题,谢谢你们帮我解决了一个大难题~~~
----------------------------------------------
金武
作者:
女 dreamgirl (蕾) ★☆☆☆☆ -
普通会员
2004/6/21 18:07:35
47楼: 作为一个delphi初学者,我也想问问,函数应该放在哪里?
我执行到 xlApp := CreateOleObject('Excel.Application');
出错。
----------------------------------------------
-
作者:
男 lihai8312 (hai) ★☆☆☆☆ -
盒子活跃会员
2004/7/4 12:42:22
48楼: 这个速度是这里最快的吧,不过我不懂如何控制转换格式,转换后的的数据全部人文本,有些不方便,有哪位高手晓得请告知

function exportxls
var
Excelapp,myworkbook:variant;
reccount:integer;
sqlstr:string;
tmpset:_recordset;
begin
if ziyufrm.savedialog1.Execute=false then
exit;

sqlstr:='select docno,cust,name,docdate,refno,refseq,part,description,unit,qty,taxprc,reason from ord20211'


try
excelapp:=createoleobject('EXCEL.APPLICATION');
myworkbook:=createoleobject('Excel.Sheet');
except
application.MessageBox('无法打开Xls文件,请确认已经安装Excel。','',mb_ok+mb_iconstop);
exit;
end;

myworkbook:=excelapp.workbooks.add;
if ziyufrm.fbmdquery.Active=false then exit;
if ziyufrm.fbmdquery.RecordCount=0 then exit;
if ziyufrm.fbmdquery.RecordCount>0 then
begin
myworkbook.worksheets[1].cells[1,1].value:='出货单号';
myworkbook.worksheets[1].cells[1,2].value:='客户代号';
myworkbook.worksheets[1].cells[1,3].value:='姓名';
myworkbook.worksheets[1].cells[1,4].value:='日期';
myworkbook.worksheets[1].cells[1,5].value:='销售订单号';
myworkbook.worksheets[1].cells[1,6].value:='行号';
myworkbook.worksheets[1].cells[1,7].value:='产品编号';
myworkbook.worksheets[1].cells[1,8].value:='产品名称';
myworkbook.worksheets[1].cells[1,9].value:='单位';
myworkbook.worksheets[1].cells[1,10].value:='数量';
myworkbook.worksheets[1].cells[1,11].value:='单价';
myworkbook.worksheets[1].cells[1,12].value:='金额';
myworkbook.worksheets[1].cells[1,13].value:='收货人或地址';
end;

try
myworkbook.saveas(ziyufrm.savedialog1.FileName);
myworkbook.close;
excelapp.quit;
excelapp:=Unassigned;
except
myworkbook.close;
excelapp.quit;
end;
ziyufrm.u8mcnnt.Execute('INSERT INTO OPENDATASOURCE ('''+'Microsoft.JET.OLEDB.4.0'+''''+','''+'Extended Properties=Excel 8.0;Data source='
+ziyufrm.savedialog1.FileName+'.xls'''+')...[sheet1$] (出货单号,客户代号,姓名,日期,销售订单号,行号,产品编号,产品名称,单位,数量,单价,金额,收货人或地址) '+sqlstr);

messagebeep(1);
showmessage('转换成功!');
end;

----------------------------------------------
-
作者:
男 danieltang (danieltang) ★☆☆☆☆ -
盒子活跃会员
2004/7/14 15:02:10
49楼: 将dataset,保存为excel文件,
没有安装excel也可以保存,速度快

procedure Txggl_sjrz_exefrm.FileSaveAsMnuClick(Sender: TObject);
var
I: Integer;
Str: String;
StrList: TStringList;
isSave:boolean;
title:string;
begin
try
  if savedialog1.Execute then
  begin
  isSave:=true;
  if FileExists(savedialog1.FileName) then
    if idno=messagebox(handle,'文件已經存在,是否繼續保存?','提示',mb_iconstop+mb_yesno) then
    begin
      issave:=false;
    end;
 if issave then
  begin
  StrList := TStringList.Create;
   with rsrzdbgrid do
   begin
      title:='';
      for i:=0 to Columns.Count-1 do
      begin
        title:=title+Columns[i].Title.Caption+#9;
      end;
     StrList.Add(title);
   end;
  with dm1.ADOQuery1  do
  begin
    First;
    while not Eof do
    begin
      Str := '';
      for I := 0 to FieldCount-1 do
      Str := Str + Fields[I].AsString + #9;
      StrList.Add(Str);
      Next;
    end;
   StrList.SaveToFile(savedialog1.FileName);
   messagebox(handle,'數據保存成功.','提示',MB_OK+MB_ICONINFORMATION);
   end;
   end;
   end;
finally
    Freeandnil(StrList);
end;

end;
----------------------------------------------
-
作者:
男 digital_online (tanger) ★☆☆☆☆ -
盒子活跃会员
2004/8/27 10:56:20
50楼: 很好,很好。各有千秋。大伙受益了。
如果使用了dbgrideh控件的话,可以使用以下过程实现:

procedure TFrmExpertxls.DBGridEhToExcel(DBGridEh: TDBGridEh);
var
  Excel,Sheet:Variant;
  KeyList:String;
  i,j,x,y,z:Integer;
begin//输出Excel
  Screen.Cursor:=CrAppStart;
  try
    Excel:=UnAssigned;
    Excel:=CreateOleObject('Excel.Application');
    Excel.Visible:=False;
    Excel.WorkBooks.Add;
  except
    Excel:=UnAssigned;
    Screen.Cursor:=CrDefault;
    DispInfo('本机未安装EXCEL,本功能必须在安装有EXCEL的电脑上才

能运行!',1);
    Abort;
  end;
  if VarIsEmpty(Excel) then
  begin
    Screen.Cursor:=CrDefault;
    DispInfo('建立Excel对象不成功,请重试!',1);
    Excel:=UnAssigned;
    Abort;
  end;
  x:=DbGridEh.FrozenCols;
  DbGridEh.FrozenCols:=0;//设置锁定列为0
  j:=0;
  for i:=0 to DBGridEh.Columns.Count-1 do
  begin
    if DBGridEh.Columns[I].Visible Then
     j:=j+1;
  end; //取得显示列总列数
  i:=Round(j/2);
  Sheet:=Excel.WorkSheets[1];
  //Sheet.Name:=TForm(DbGridEh.Parent.Parent).caption;
  Sheet.Cells[1,i]:=''''+TForm(DbGridEh.Parent.Parent).caption;
  sheet.cells[2,1]:='日期:'+FormatDateTime('yyyy"年"mm"月"dd"日

"',Now);
  Sheet.Cells[2,j-1]:='制表:'+UserCode;    //以上为表头输出
  J:=1;
  for I:=0 To DBGridEh.Columns.Count-1  Do
    if DBGridEh.Columns[I].Visible Then
    begin
      Sheet.Cells[3,J]:=''''+DbGridEh.Columns[I].Title.Caption;  

//设置列标题
      j:=j+1;
    end;
  if not DbGridEh.DataSource.DataSet.Active Then
  begin
    Excel.Quit;
    Excel:=UnAssigned;
    Screen.Cursor:=CrDefault;
    Abort;
  end;
  with DBGridEh.DataSource.DataSet do
  begin
    First;
    I:=4; //行记数
    While Not Eof Do
    Begin
      Y:=1;
      For J:=0 To DbgridEh.Columns.Count-1 Do //列记数
      begin
      If DbGridEh.Columns[J].Visible Then
      begin
        KeyList:='';
        If (DbgridEh.Columns[J].KeyList.Count>0) Then
          For z:=0 To DbgridEh.Columns[J].KeyList.Count-1 Do
           If KeyList='' Then
             KeyList:=DbgridEh.Columns[J].KeyList.Strings[z]
           Else
             

KeyList:=KeyList+','+DbgridEh.Columns[J].KeyList.Strings[z];
        If (DbgridEh.Columns[J].KeyList.Count>0) And 

(Pos(FieldByName(DbGridEh.Columns[J].FieldName).AsString,KeyList

)>0)
           And 

(DbgridEh.Columns[J].PickList.Count>=DbGridEh.Columns[J].KeyList

.IndexOf(FieldByName(DbGridEh.Columns[J].FieldName).AsString))  

then
             

Sheet.Cells[I,Y]:=''''+DbGridEh.Columns[J].PickList.Strings[DbGr

idEh.Columns[J].KeyList.IndexOf(FieldByName(DbGridEh.Columns[J].

FieldName).AsString)]
        Else
        Begin
          If 

(FieldByName(DbGridEh.Columns[J].FieldName).DataType=FtDateTime)
            or 

(FieldByName(DbGridEh.Columns[J].FieldName).DataType=FtDate)
            Or 

(FieldByName(DbGridEh.Columns[J].FieldName).DataType=FtTime)Then
            begin
              if 

FieldByName(DbGridEh.Columns[J].FieldName).Asstring<>'' then
              begin
                if 

length(FieldByName(DbGridEh.Columns[J].FieldName).Asstring)<=10 

then
                  

Sheet.Cells[I,Y]:=FormatDateTime('yyyy.mm.dd',FieldByName(DbGrid

Eh.Columns[J].FieldName).AsDateTime)
                else
                  Sheet.Cells[I,Y]:=FormatDateTime('yyyy.mm.dd 

hh.nn.ss',FieldByName(DbGridEh.Columns[J].FieldName).AsDateTime)
              end
              else Sheet.Cells[I,Y]:='';
            end
          Else If 

(FieldByName(DbGridEh.Columns[J].FieldName).DataType<>FtString) 

Then
            

Sheet.Cells[I,Y]:=FieldByName(DbGridEh.Columns[J].FieldName).AsS

tring
          Else
            

Sheet.Cells[I,Y]:=''''+FieldByName(DbGridEh.Columns[J].FieldName

).AsString;
        End;
        Y:=Y+1;
      end;
      end;
      I:=I+1;
      Next;
    End;
  End;
  Screen.Cursor:=CrDefault;
  Excel.Visible:=True;
  DbGridEh.FrozenCols:=X;
  Excel:=UnAssigned;
end;



----------------------------------------------
Digital
作者:
男 force (force) ★☆☆☆☆ -
盒子活跃会员
2004/8/27 17:20:52
51楼: 楼主的程序试了一下,很不错,谢谢了!
ExcelApp := UnAssigned; 为什么这条语句我在D6下编译不过?

----------------------------------------------
-
作者:
男 nswtnt (nswq) ★☆☆☆☆ -
普通会员
2004/9/6 15:26:19
52楼: 都是用的三方空件吗?
----------------------------------------------
-
作者:
男 itlongxin (龙飘渺) ★☆☆☆☆ -
盒子活跃会员
2004/10/21 9:08:34
53楼: 那个程序是在D5下编译的,到D6或者D7可能有些函数就不支持了。另外50楼的朋友说的用DBGridEh导出EXCEL好像没有那么麻烦吧?因为它自身就带有那些功能,并且都已经封装的很好了,只需要调用一下它的那个函数就行了。程序如下:
procedure PreviewDBGEh(fDBGEh: TDBGridEh; sName: string);
var ExpClass: TDBGridEhExportClass;
  Ext: string;
  saveDlg: TSaveDialog;
begin
  saveDlg := TSaveDialog.Create(nil);
  saveDlg.Filter := 'TXT 文件 (*.txt)|*.TXT|HTML 文件(*.HTM)|*.HTM|Execl 文件(*.XLS)|*.HTM;*.XLS';
  saveDlg.DefaultExt := 'txt';
  saveDlg.FileName := sName;
  try
    fDBGEh.SetFocus;
    if saveDlg.Execute then
    begin
      case saveDlg.FilterIndex of
        1: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
        2: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
        3: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
      else
        ExpClass := nil; Ext := '';
      end;
      if ExpClass <> nil then
      begin
        if UpperCase(Copy(saveDlg.FileName, Length(saveDlg.FileName) - 2, 3)) <>
          UpperCase(Ext) then
          saveDlg.FileName := saveDlg.FileName + '.' + Ext;
        SaveDBGridEhToExportFile(ExpClass, TDBGridEh(fDBGEh),
          saveDlg.FileName, True);
      end;
      Altermesg('导出完毕!');
    end;
  finally
    saveDlg.Free;
  end;
end;
这是我写的一个公共函数,是在D5下写的。可以参考一下。Altermesg是我自己写的一个函数,是弹出成功对话框用的。
----------------------------------------------
按此在新窗口浏览图片
作者:
男 lity1981 (冰雨) ★☆☆☆☆ -
普通会员
2004/10/25 21:52:36
54楼: 好,全部收下,太棒了!
----------------------------------------------
-
作者:
女 yqf_jtl (小白) ★☆☆☆☆ -
普通会员
2004/11/23 8:55:30
55楼: lihai8312:你的程序中的u8mcnnt是什么?呵呵,让你见笑了,我是初学者,以后多多关照.
----------------------------------------------
-
作者:
男 wchwj ( ) ★☆☆☆☆ -
盒子活跃会员
2004/11/23 9:45:46
56楼: 这么多,太感谢了,这下能好好看看了。
----------------------------------------------
-
作者:
女 yqf_jtl (小白) ★☆☆☆☆ -
普通会员
2004/11/23 10:42:22
57楼: hedong:你的程序只能导入标头,不能导入数据.
是不是我哪里错了?为什么数据不能导入到excel中?
----------------------------------------------
-
作者:
男 lcq419 (^&^ 超 旗) ★☆☆☆☆ -
盒子活跃会员
2004/11/25 18:38:03
58楼: 唉好多地方我是看不懂呀有没有简单点的方法谢谢
----------------------------------------------
-
作者:
男 zxcv3000 (非鱼) ★☆☆☆☆ -
普通会员
2004/11/25 19:13:31
59楼: 最近正要用这个,谢谢大家了!

以前没有好好上论坛,真是失策!好在亡羊补牢,犹未晚也!
----------------------------------------------
-
作者:
男 wzd (wzd) ★☆☆☆☆ -
普通会员
2005/1/18 12:41:27
60楼: to 15楼
  货币格式如下:
  NumberFormatLocal := "¥#,##0.00;¥-#,##0.00"     有¥符号
  NumberFormatLocal := "#,##0.00"
----------------------------------------------
-
作者:
男 liuqiang888 (leonhsh) ★☆☆☆☆ -
盒子活跃会员
2005/1/20 14:07:00
61楼: 问题是这样的:我从excel中将数据导入到clientdata中,在clientdata中的第一个字段是数据库中主表A的,其它字段是细表B中的。数据集中内容格式如下:
a1 a2 a3 a4
1   2  3 4
1   5  6 7
1   8  9 10
2   3  6 7
2   5  0 2
3   ......
等等,以上只是一个假设,也许为‘1’的记录有十条,为‘2’的有五条。
现在就是要首先要把字段为a1的值取出来插入主表,再看它所对应的细表记录有几条,然后插入细表,请各位帮帮忙,最好能写个例子看看。
----------------------------------------------
-
作者:
男 gselec (海宏) ★☆☆☆☆ -
盒子活跃会员
2005/1/28 20:03:10
62楼: 老兄,你用到分布式事务了吗?事务啊。我在D7用Connection.Begintransaction后,一OpenDataSource执行就出错啊!主机上已经开了Distributed Transaction Coorp。
谢谢。
----------------------------------------------
海宏软件,自动化专家
作者:
男 majiade (majiade) ★☆☆☆☆ -
普通会员
2005/1/31 21:15:08
63楼: 我以前也这样写的,和和,我觉得这样写是比较专业哦
----------------------------------------------
good
作者:
女 anne6795 (紫燕归) ★☆☆☆☆ -
普通会员
2005/3/1 14:35:44
64楼: 按此在新窗口浏览图片 按此在新窗口浏览图片
----------------------------------------------
-
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2005/3/1 15:02:35
65楼: 昨天写的程序里也用到这个功能
我写了一个类跟楼主的居然张得差不多哦
不过楼主是否考虑过换Sheet的问题哦
如果记录超过65535应该换Sheet了,Excel的行不能超过65535的
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 vagrant2005 (vagrant2005) ★☆☆☆☆ -
普通会员
2005/3/21 8:49:46
66楼: 将dataset,保存为excel文件,
没有安装excel也可以保存,速度快

procedure Txggl_sjrz_exefrm.FileSaveAsMnuClick(Sender: TObject);
var
I: Integer;
Str: String;
StrList: TStringList;
isSave:boolean;
title:string;
begin
try
  if savedialog1.Execute then
  begin
  isSave:=true;
  if FileExists(savedialog1.FileName) then
    if idno=messagebox(handle,'文件已經存在,是否繼續保存?','提示',mb_iconstop+mb_yesno) then
    begin
      issave:=false;
    end;
 if issave then
  begin
  StrList := TStringList.Create;
   with rsrzdbgrid do
   begin
      title:='';
      for i:=0 to Columns.Count-1 do
      begin
        title:=title+Columns[i].Title.Caption+#9;
      end;
     StrList.Add(title);
   end;
  with dm1.ADOQuery1  do
  begin
    First;
    while not Eof do
    begin
      Str := '';
      for I := 0 to FieldCount-1 do
      Str := Str + Fields[I].AsString + #9;
      StrList.Add(Str);
      Next;
    end;
   StrList.SaveToFile(savedialog1.FileName);
   messagebox(handle,'數據保存成功.','提示',MB_OK+MB_ICONINFORMATION);
   end;
   end;
   end;
finally
    Freeandnil(StrList);
end;

end;
----------------------------------------------
-
作者:
男 tyc2000 (Tyc) ★☆☆☆☆ -
盒子活跃会员
2005/3/24 9:55:40
67楼: 好啊,感谢各位了,受益菲浅啊
----------------------------------------------
-
作者:
男 kuangdaoisme (狂刀人) ★☆☆☆☆ -
盒子活跃会员
2005/3/25 16:25:25
68楼: 为什么我填到408这个数据时,就报错啊?
----------------------------------------------
我的邮箱

学习中进步!
作者:
男 nwzyx (风卷云舒) ★☆☆☆☆ -
盒子活跃会员
2005/3/25 20:23:55
69楼: 导出Excel表时,列不得超过256,行不得超过65535,66楼的代码真棒!!
----------------------------------------------
Delphi就是RAD,业余写程序,始终门外汉
作者:
男 kuangdaoisme (狂刀人) ★☆☆☆☆ -
盒子活跃会员
2005/3/26 11:35:50
70楼: 我用楼主的方法,只能导出408行,到409行就报错:

  OLE error 800A03EC

为什么呢
此帖子包含附件:
文件未找到
大小:检测失败
----------------------------------------------
我的邮箱

学习中进步!
作者:
男 kuangdaoisme (狂刀人) ★☆☆☆☆ -
盒子活跃会员
2005/3/26 11:54:25
71楼: 还有66楼的,你的做法,速度的确很快,但最终导出是的txt文件格式,并不是说你把文件命名成xls就可以的。有改进的吗?
----------------------------------------------
我的邮箱

学习中进步!
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2005/3/26 13:07:44
72楼: 66楼的导出的其实是CSV格式,Excel在打开时可以将其转换成xls
但是归根结底他并不是Excle的格式,只是文本型的数据库
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 gzgzlxg (lxg) ★☆☆☆☆ -
盒子活跃会员
2005/3/27 16:12:17
73楼: 楼主的帖子是我以前写的,帖在DelphiBoy,后来那个网站关闭了,楼主居然连一个字都没有修改,就着为自己的作品了,佩服。
----------------------------------------------
ask not what your country can do for you--ask what you can do for your country.
作者:
男 _qxh (xh) ★☆☆☆☆ -
普通会员
2005/4/5 13:40:51
74楼: 53楼的方法很棒!!
----------------------------------------------
-
作者:
男 afsf (txgys) ★☆☆☆☆ -
普通会员
2005/4/9 11:58:25
75楼: 谢了
----------------------------------------------
http://www.txgys.com
按此在新窗口浏览图片 按此在新窗口浏览图片
作者:
男 yangyonggang1982 (liang) ★☆☆☆☆ -
普通会员
2005/5/9 17:31:41
76楼: to 7楼的hedong
 不过在调用本过程中在uses 中要申明用到ComObj类,
 
想问一下!
  这个文件会自动生成在'我的方档'中 ,怎么才能改变一下路经。
----------------------------------------------
鹿茸地区性
作者:
男 waiwaixing (waiwaixing) ★☆☆☆☆ -
普通会员
2005/5/19 6:07:57
77楼: 49楼的方法不错!
----------------------------------------------
-
作者:
男 l3090 (3090) ★☆☆☆☆ -
普通会员
2005/7/9 15:26:27
78楼: 收蔵一下
----------------------------------------------
新手上路,请多关照,不要见笑!
作者:
男 l3090 (3090) ★☆☆☆☆ -
普通会员
2005/7/11 7:44:45
79楼: 7楼及各位大虾:请问6楼的方法是否只能用于TwwDBgrid中,再请问一下:TwwDBgrid在什么地方,我找了好久都找到!
----------------------------------------------
新手上路,请多关照,不要见笑!
作者:
男 lyy1128 (lyy1128) ★☆☆☆☆ -
盒子活跃会员
2005/7/13 23:31:40
80楼: 呵呵,似乎不用这么大费周张吧,用sql直
接可以实现,不过数据源有限制
SELECT * 
FROM OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’, 
  ’Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0’)...xactions
----------------------------------------------
我是谁?
作者:
男 jbfang007 (剑中花) ★☆☆☆☆ -
普通会员
2005/9/19 11:08:59
81楼: SELECT * 
FROM OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’, 
  ’Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0’)...xactions
这个?
我试试
----------------------------------------------
-
作者:
男 327821 (dove) ★☆☆☆☆ -
盒子活跃会员
2005/9/28 15:13:30
82楼: 好东西不能埋没啊
----------------------------------------------
-Show me the way!!
作者:
男 hszj (jungle) ★☆☆☆☆ -
盒子活跃会员
2005/11/2 17:50:55
83楼: 推荐一个控件,没有Excel也可以直接导出,速度还不错,但是没有源代码
http://www.e-jun.com/down.asp?file=EjunExcelRW.rar

作者的论坛是www.e-jun.com/bbs

// Excel读写控件使用例子
procedure TForm1.Button1Click(Sender: TObject);
var
  vWorkbook: IEjWorkbook;
  vSheet: IEjWorkSheet;
  iRow, iCol: Integer;
  vCell: TZjCell;
begin
  CreateEjunWorkBook(vWorkbook);

  vSheet := vWorkbook.Sheets.Add(0);
  vSheet.SheetName := 'hello';
  //添加单元格
  vSheet.AddCell(0, 0, 'EjunXlsRW Demo');
  vSheet.AddCell(1, 8, '数字类型');
  vSheet.AddCell(2, 8, 888);
  vSheet.AddCell(1, 6, '2005-10-5');
  //合并单元格
  vSheet.MergeCell(0, 0, 6, 0);
  vSheet.MergeCell(2, 2, 4, 4);
  //保存为Excel文件格式文件
  vWorkbook.SaveToExcel('d:\test.xls');
  // 用Excel打开刚才保存的文件,以资检验
  ShellExecute(Handle, nil, 'd:\test.xls', nil, nil, SW_NORMAL);

end;
----------------------------------------------
-
作者:
男 wrjk802 (温柔剑客) ★☆☆☆☆ -
禁用账号
2005/11/12 18:48:50
84楼: ……
被禁用帐号,帖子内容自动屏蔽!
……

----------------------------------------------
发布广告,账号被禁用!
作者:
女 eunicewww (eunicewww) ★☆☆☆☆ -
普通会员
2006/1/5 19:21:18
85楼: 请问:将excel文件中的数据导入到listview中,该如何实现?如果数据量很大的情况下该如何处理呢?
----------------------------------------------
-
作者:
女 eunicewww (eunicewww) ★☆☆☆☆ -
普通会员
2006/1/5 19:23:32
86楼: 各位:
 看来将listview中的数据导入到excel中的问题解决了,
 现在将excel文件中的数据导入到listview中,该如何实现?
 如果数据量很大的情况下该如何处理呢?
 帮帮忙吧 我很需要?
----------------------------------------------
-
作者:
男 dengjj0825 (dengjj0825) ★☆☆☆☆ -
普通会员
2006/1/21 14:40:01
87楼: 看了楼上这么多的帖子,自己也试了好多,Excel文件倒是生成了,但在进程中Excel.exe没退出来啊,还在啊?有谁能解决啊......
----------------------------------------------
-
作者:
男 shuihan20e (shuihan) ★☆☆☆☆ -
盒子活跃会员
2006/1/22 16:38:52
88楼: 应该进精华了,收藏了,也领些分,我原来一直用最简单的导出方法,非常简单
----------------------------------------------
我Delphi水平不行,其他的也不怎么样,来这纯属灌水~~~~~
作者:
男 michaeljoe (hao) ★☆☆☆☆ -
普通会员
2006/2/17 14:31:49
89楼: 好东西啊,我要好好学习了。。感谢。
----------------------------------------------
-
作者:
男 juan520 (juan520) ★☆☆☆☆ -
普通会员
2006/4/30 23:45:27
90楼: http://www.2ccc.com/search.asp?KeyWord=EMS+Quick+Export+Component+Suite&Submit=%BF%EC%CB%D9%CB%D1%CB%F7

就在盒子首页搜索一下就可以了
----------------------------------------------
-我信仰天道酬勤,但是我更希望懒人有福——做一个有福的懒人多好呀!
作者:
男 bluesnows (bluesnows) ★☆☆☆☆ -
盒子活跃会员
2006/8/24 10:15:38
91楼: 太好了,收藏
----------------------------------------------
-
作者:
男 gdlpc (gdlpc) ★☆☆☆☆ -
普通会员
2006/8/24 13:37:49
92楼: 很好!
----------------------------------------------
-
作者:
男 itzhuhongbin (情人在梦中) ★☆☆☆☆ -
普通会员
2008/7/15 18:43:34
93楼: 是些好东西 我以后要经常来这里玩玩
----------------------------------------------
瞬息万变 顺其自然
作者:
男 itzhuhongbin (情人在梦中) ★☆☆☆☆ -
普通会员
2008/7/17 9:40:23
94楼: 我以前凡是要导出到EXCEL都是自己编代码,然后再调用导出,以后没这么麻烦了,直接把你这个单元弄下来,然后做成一个例子,以后就好办多了 thanks very very。。。。。
----------------------------------------------
瞬息万变 顺其自然
作者:
男 lzxtk (大强) ★☆☆☆☆ -
普通会员
2008/8/9 11:13:53
95楼: 做数据的人基本都要用到的功能,楼主真是大英雄啊
其它朋友也是豪杰,呵呵
----------------------------------------------
-
作者:
男 baijiang (baijiang) ★☆☆☆☆ -
普通会员
2009/1/9 11:45:49
96楼: 华宇物流
华宇物流公司
上海华宇物流
wuyuwencangtian090109
----------------------------------------------
-
作者:
男 fly3000sky (左走右看) ★☆☆☆☆ -
普通会员
2009/6/18 15:50:43
97楼: 好帖子,先收藏了
----------------------------------------------
-
作者:
男 jackhu (hu) ★☆☆☆☆ -
普通会员
2009/7/23 16:42:50
98楼: ExportGrid4ToExcel(FileName, cxgrid1,true,true);这样导出数据到EXCEL中,FILENAME为什么不能为中文,如果是中文,一打开EXCEL就会提示"重新命名无效的工作表名称。"; 这要怎么解决?
----------------------------------------------
-
作者:
男 xwf_lj (锋锋) ★☆☆☆☆ -
普通会员
2009/7/26 23:04:04
99楼: 用QueryTables会很快
另外可以先生成一个EXCEL文件 然后再由用户确定是否保存它
----------------------------------------------
-
作者:
男 xlyh (香冷月寒) ★☆☆☆☆ -
普通会员
2010/10/13 12:01:58
100楼: 很好的帖子!!!

有没有从excel导入到数据库的程序呢?
----------------------------------------------
-
作者:
男 baidu006 (chong) ▲▲▲▲▲ -
普通会员
2011/8/26 23:45:45
102楼: 深圳龙岗搬家公司-深圳龙岗正规搬家公司-电话 28837358  深圳龙岗搬家公司是经深圳运输局批准和工商局注册成立的一家具有独立法人资格的专业化、规模化的正规搬家公司。本公司已拥有大小不等的专用搬迁车二十八台, 自卸吊5吨至10吨、进口塔吊8吨至50吨,叉车3吨、5吨等等重型吊装、移位设备,其搬迁队、拆装工人、吊装师傅、清洁员工都是经过专业化训练,持证上岗的与公司签有正式劳动合同的优秀的有责任心的职员。他们能细致、熟练的掌握各自的专长,以过硬的技术、优质的服务、满意的质量来回报各位新老客户.公司网址 www.szhrz8.com
 深圳龙岗搬家公司 深圳南山搬家公司
 深圳福田搬家公司 深圳罗湖搬家公司 
 深圳龙华搬家公司 深圳宝安搬家公司
 深圳罗湖搬家公司 深圳福田搬家公司 
 深圳南山搬家公司 深圳搬家公司 
 深圳龙岗搬家公司 深圳宝安搬家公司  
 深圳空调拆装 深圳空调移机
 深圳空调回收 深圳盐田搬家公司
 深圳旧货回收
----------------------------------------------
深圳龙岗搬家公司 深圳南山搬家公司
 深圳福田搬家公司 深圳罗湖搬家公司
作者:
男 likediy5200 (likediy) ▲▲▲▲▲ -
普通会员
2011/9/28 23:56:42
103楼: Burberry men arroyo coats -Burberry Men Abbreviate Fit Suit 

Leave the added vacation essentials for your backpack on. Forth with alms contemporary accent to women, these accoutrements leave a complete consequence too on the holders. To some extent, is to buy affluence appurtenances Burberry. Monocle Burberry sale outlet accouterment never stop the accomplish of accomplishment accouterment and the ambition of monocle is to accomplish out all kinds of clothes to all people, no aggregate for men or women. For instance, get a bigger backpack to backpack forth if you’re alpine and thin. Top above Burberry Burberry trench coat sale Men Abbreviate Fit Suit appear in the above adapted Burberry architecture and adjustment as the original. Tremendous handbags go with about anniversary outfit. For others who do bother about the aggregate tag, replica handbags with agnate above and architecture as artist Burberry coats on sale handbags at a actual affordable aggregate are perfect. We all apperceive that a backpack agency a lot to a woman. You can swell acquisition Burberry titanium glasses that are complete for decree eyeglasses and polarized sunglasses. And the tremendous nickel buckles accomplish a bag with masculinity. Accomplish your day added adorable by accepting the best Burberry coats 2011 abatement Gucci handbags. However, in my eyes, abridgement of money will not in actuality arrest your dream of able artist handbags. Here, all Mulberry handbags are originally artificial and at able quality. No academy the scarves, handbags or arroyo coat, you can see the Burberry Men Abbreviate Fit Suit adjustment is broadly acclimated in a adjustment of their products.
----------------------------------------------
burberry sale
作者:
男 likediy5200 (likediy) ▲▲▲▲▲ -
普通会员
2011/9/29 0:00:29
104楼: The Burberry Aperture casting pays absorption to anniversary

For that explanation, cost-effective calm with actual able above Burberry Aperture tote accoutrements absolutely accord this allegation to acquire for approved customers. Calm with the billow in acceptance of them all is commonly possibly in Cheap Name Brand Clothes added of the reliable ones. Burberry Aperture appurtenances acquire that it is adapted gains, in accretion to it’s in achievement faults. If a menswear aisle with tough, bargain alfresco accoutrement for the sportsman, soldier and Discount Women's Clothing   hunter, this Burberry is a added airy adjustment for ladies. Anniversary and every claimed backpack absolution in Burberry aperture aliment provides you appliance the purse’s proportions, appurtenances at the above time like a complete photograph, which implies you’ll be able to abundance with self-assurance. Burberry aperture continues to PAUL SHARK Clothing Online be aloft the architecture addiction employing the angel for just about any abiding time. It presents optimistic access on top of your personality’s aspects and makes these lighter and vivid. Visualize that our planet revolves in a actual abode never empiric artlessly by human’s smells but individuals are stored acclimatized apropos this by agency of his Burberry sale outlet own analysis out. The bolt is not abandoned abounding smoother; it is swell abounding added durable, which prevents it from disturbing or ripping easily. Like the added handbags from added Italian designers, Prada handbags acquire a accomplishment that speaks out allure and sophistication.
----------------------------------------------
burberry sale
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行173.8281毫秒 RSS