当前位置:首页 » 多媒体相关

delphi 把数据导入Excel中,高手伸伸手


delphi   把数据导入excel中,高手伸伸手  
   
  1.设列宽语句:excelworksheetdn.columns[1].columnswidth:=   8.5;  
      时出错:  
  [error]   datanetctangimpl.pas(2453):   class   does   not   have   a     default   property。  
    2.单元格怎么   居中,  
    3.怎么实现对齐方式为   自动分行?  
    4.合并单元格。

推荐阅读

  • 微软计划在Office软件中支持开放文档格式 [详细内容]
  • 绝对宠儿 为iPod"量身打造"的FM模块套装 [详细内容]
  • N-Gage QD典型问答综合(四) [详细内容]
  • 竞价新服务遭非议 淘宝称免费策略从未改变 [详细内容]
  • 日立数据全面出击模块化存储市场 [详细内容]
  • 简单制作OGG音乐及铃声(-) [详细内容]
  • mTalk助力 话时代网游新体验 [详细内容]
  • 网友回答:
    网友:ljmanage

    1、xlapp.columns("c:c").columnwidth   =   10.75  
      2、xlapp.range("e1").select  
            xlapp.selection.horizontalalignment   :=   xlcenter  
      3、       xlapp.range("d5").select  
              xlapp.selection.horizontalalignment   =   xlright  
                  xlapp.selection.verticalalignment   =   xlcenter  
      xlapp.selection.wraptext   =   true     //自动换行  
      4、xlapp.range("e8:e9").select;  
      xlapp.selection.mergecells   =   true;  
       
     

    网友:chukai

    sheet.cells[1,5].horizontalalignment:=5;  
      以上是当前单元格居中。左对齐是3,右是4

    网友:ltmb118

    同意   ljmanage(过客)

    网友:rscn

    excel帮助中有vba的详细文档,可以参考

    网友:matrix1996

    在excel使用宏,察看宏源码,不就知道了

    网友:wdsimon

    帮你转一下:  
      全面控制   excel  
      首先创建   excel   对象,使用comobj:  
      var   excelid:   variant;  
        excelid   :=   createoleobject(   excel.application   );  
      1)   显示当前窗口:  
      excelid.visible   :=   true;  
      2)   更改   excel   标题栏:  
      excelid.caption   :=   应用程序调用   microsoft   excel;  
      3)   添加新工作簿:  
          excelid.workbooks.add;  
      4)   打开已存在的工作簿:  
          excelid.workbooks.open(   c:\excel\demo.xls   );  
      5)   设置第2个工作表为活动工作表:  
          excelid.worksheets[2].activate;      
        或   excelid.worksheets[   sheet2   ].activate;  
      6)   给单元格赋值:  
        excelid.cells[1,4].value   :=   第一行第四列;  
      7)   设置指定列的宽度,以第一列为例:  
        excelid.activesheet.columns[1].columnswidth   :=   5;  
      8)   设置指定行的高度,以第二行为例:  
          excelid.activesheet.rows[2].rowheight   :=   1/0.035;   //   1厘米  
      9)   在第8行之前插入分页符:  
          excelid.worksheets[1].rows[8].pagebreak   :=   1;  
      10)   在第8列之前删除分页符:  
          excelid.activesheet.columns[4].pagebreak   :=   0;  
      11)   指定边框线宽度:  
        excelid.activesheet.range[   b3:d4   ].borders[2].weight   :=   3;  
            1-左         2-右       3-顶         4-底       5-斜(   \   )           6-斜(   /   )  
      12)   清除第一行第四列单元格公式:  
        excelid.activesheet.cells[1,4].clearcontents;  
      13)   设置第一行字体属性:  
      excelid.activesheet.rows[1].font.name   :=   隶书;  
      excelid.activesheet.rows[1].font.color     :=   clblue;  
      excelid.activesheet.rows[1].font.bold       :=   true;  
      excelid.activesheet.rows[1].font.underline   :=   true;  
      14)   进行页面设置:  
          a.页眉:  
              excelid.activesheet.pagesetup.centerheader   :=   报表演示;  
          b.页脚:  
              excelid.activesheet.pagesetup.centerfooter   :=   第&p页;  
          c.页眉到顶端边距2cm:  
              excelid.activesheet.pagesetup.headermargin   :=   2/0.035;  
          d.页脚到底端边距3cm:  
              excelid.activesheet.pagesetup.headermargin   :=   3/0.035;  
          e.顶边距2cm:  
              excelid.activesheet.pagesetup.margin   :=   2/0.035;  
          f.底边距2cm:  
              excelid.activesheet.pagesetup.bottommargin   :=   2/0.035;  
          g.左边距2cm:  
              excelid.activesheet.pagesetup.leftmargin   :=   2/0.035;  
          h.右边距2cm:  
              excelid.activesheet.pagesetup.rightmargin   :=   2/0.035;  
          i.页面水平居中:  
              excelid.activesheet.pagesetup.centerhorizontally   :=   2/0.035;  
          j.页面垂直居中:  
              excelid.activesheet.pagesetup.centervertically   :=   2/0.035;  
          k.打印单元格网线:  
              excelid.activesheet.pagesetup.printgridlines   :=   true;  
      15)   拷贝操作:  
          a.拷贝整个工作表:  
              excelid.activesheet.used.range.copy;  
          b.拷贝指定区域:  
              excelid.activesheet.range[   a1:e2   ].copy;  
          c.从a1位置开始粘贴:  
              excelid.activesheet.range.[   a1   ].pastespecial;  
          d.从文件尾部开始粘贴:  
              excelid.activesheet.range.pastespecial;  
        16)   插入一行或一列:  
            a.   excelid.activesheet.rows[2].insert;  
            b.   excelid.activesheet.columns[1].insert;  
        17)   删除一行或一列:  
          a.   excelid.activesheet.rows[2].delete;  
          b.   excelid.activesheet.columns[1].delete;  
        18)   打印预览工作表:  
          excelid.activesheet.printpreview;  
        19)   打印输出工作表:  
          excelid.activesheet.printout;  
        20)   工作表保存:  
        if   not   excelid.activeworkbook.saved   then  
            excelid.activesheet.printpreview;  
        21)   工作表另存为:  
          excelid.saveas(   c:\excel\demo1.xls   );  
        22)   放弃存盘:  
        excelid.activeworkbook.saved   :=   true;  
        23)   关闭工作簿:  
        excelid.workbooks.close;  
        24)   退出   excel:  
      excelid.quit;  
       
      如何在delphi中操作excel  
      在数据库应用软件的开发过程中,经常需要把数据转换成excel文件,让用户作进一步的数据处理。而delphi是开发数据库应用系统的常用工具,那么,如何在delphi中操作excel呢?    
      我们知道,在microsoft   office软件中有一种内嵌的编程语言vba,它是一种宏语言,利用它,你可以编写出功能强大的代码,如打开文件、修改数据、保存数据和设置字体等。另一方  
      面,microsoft   office软件中的宏能以vba代码的形式记录下你的操作过程。因此借助宏操作,可以很轻松地实现某一功能,并把这些代码稍作修改嵌入到你的软件中。但是vba也存在  
      一个缺点,它必须有microsoft   office作平台,在哪里编写,必须在哪里执行。例如在excel下编写的一段vba代码,则它只有在excel下才能运行。因此,笔者的方法就是把vba代码嵌入  
      到delphi中,从而实现用delphi操作excel。    
        下面,我们以delphi程序为例,说明这种调用方法:    
        unit   excel;    
        interface    
        uses    
        windows,messages,sysutils,classes,graphics,controls,forms,dialogs,stdctrls,comobj;    
        //comobj是操作ole对象的函数集    
        type   tform1   =class(tform)    
        button1:   tbutton;    
        procedure   button1click(sender:   tobject);    
        private    
        {   private   declarations   }    
        public    
        {   public   declarations   }    
        end;    
        var    
        form1:   tform1;    
        implementation    
        {$r   *.dfm}    
        procedure   tform1.button1click(sender:   tobject);    
        var    
        eclapp,workbook:variant;    
        //声明为ole   automation   对象    
        xlsfilename:string;begin    
        xlsfilename:=ex.xls;    
        try    
        //创建ole对象excel   application与   workbook    
        eclapp:=createoleobject(excel.application);    
        workbook:=createoleobject(excel.sheet);    
        except    
        showmessage(您的机器里未安装microsoft   excel。);    
        exit;    
        end;    
        try    
        showmessage(下面演示:新建一个xls文件,并写入数据,最后关闭它。);    
        workbook:=eclapp.workbooks.add;    
        eclapp.cells(1   ,   1):=字符型;    
        eclapp.cells(2   ,   1):=excel文件;    
        eclapp.cells(1   ,   2):=money型;    
        eclapp.cells(2   ,   2):=10.01;    
        eclapp.cells(1   ,   3):=日期型;eclapp.cells(2   ,   3):=date;    
        workbook.saveas(xlsfilename);    
        workbook.close;    
        showmessage(下面演示:打开刚创建的xls文件,并修改其中的内容,然后,由用户决定是否保存。);    
        workbook:=eclapp.workbooks.open(xlsfilename);    
        eclapp.cells(2   ,   1):=excel文件类型;    
        if   messagedlg(xlsfilename+文件已被修改,是否保存?,mtconfirmation,   [mbyes,   mbno],   0)   =   mryes   then    
        workbook.save    
        else    
        workbook.saved   :=   true;   //放弃修改    
        workbook.close;    
        eclapp.quit;    
        //退出excel   application    
        //释放variant变量    
        eclapp:=unassigned;    
        except    
        showmessage(不能正确操作excel文件。可能是该文件已被其他程序打开,或系统错误。);    
        workbook.close;    
        eclapp.quit;    
        //释放variant变量    
        eclapp:=unassigned;    
        end;    
        end;    
        end.    
        经过上述操作过程后,我们就可以很放心地将数据库中的数据转换成excel文件了  
       
     

    网友:jinjiajun

    sheet.columns[2].horizontalalignment:=4;右  
                      sheet.cells[1,1].horizontalalignment:=3;居中  
      5好象是填充  
       
      测试过,可以使用

    网友:jinjiajun

    楼上的,有点敬业精神好不好,看请题目再回答第n次。你的程序里只有导入,啥都没设置

    网友:jinjiajun

    sheet.range[sheet.cells[1,   1],   sheet.cells[1,   col   -   1]].merge;  
       
      将第1行第1列到第1行第col-1列,合并成一个单元格

    .

    讨论区

    Login