用DELPHI控件 控制EXCEL问题?

chinany 2010-11-26 04:18:33
我已在窗体放了ExcelApplication1,ExcelWorkBook1,ExcelWorkSheet1,如果控制EXECL2003 第二列的宽度,并给导出数据自动画上表格,我现写的代码如下:
ExcelApplication1.Connect;
ExcelApplication1.Visible[0]:=True;
ExcelApplication1.Workbooks.Add(Null,0);
ExcelApplication1.Caption:='商品日报表统计';
ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorkSheet1.ConnectTo(ExcelWorkBook1.Sheets[1] as _WorkSheet);


excelworksheet1.Columns[1].columnWidth:=50//运行到这一步执行不了
...全文
165 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tomorrow619810 2011-02-12
  • 打赏
  • 举报
回复
楼上是高手啊
kye_jufei 2011-02-09
  • 打赏
  • 举报
回复
引用。。。
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,excel2000,ComObj,DateUtils, cxGraphics, cxTextEdit, cxControls,
cxContainer, cxEdit, cxMaskEdit, cxDropDownEdit, StdCtrls, DB, ADODB,
Menus, cxLookAndFeelPainters, cxButtons, ComCtrls, cxCalendar,CommDeclare;

var
ExcelApp:Variant;
kye_jufei 2011-02-09
  • 打赏
  • 举报
回复
     Application.ProcessMessages;

ExcelApp.WorkBooks[1].WorkSheets[1].cells[2,1]:='序號';
ExcelApp.Range['A2:A3'].MergeCells:=True;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[2,2]:='廠別';
ExcelApp.Range['B2:B3'].MergeCells:=True;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[2,3]:='線別';
ExcelApp.Range['C2:C3'].MergeCells:=True;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[2,4]:='工號';
ExcelApp.Range['D2:D3'].MergeCells:=True;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[2,5]:='姓名';
ExcelApp.Range['E2:E3'].MergeCells:=True;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[2,6]:='班次';
ExcelApp.Range['F2:F3'].MergeCells:=True;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[2,7]:='直間區分';
ExcelApp.Range['G2:G3'].MergeCells:=True;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[2,8]:='機種類別';
ExcelApp.Range['H2:H3'].MergeCells:=True;

ExcelApp.WorkBooks[1].WorkSheets[1].cells[2,38]:='工作天數';
ExcelApp.Range['I2:AM2'].MergeCells:=True;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[2,39]:='補上月平時';
ExcelApp.Range['AN2:AN3'].MergeCells:=True;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[2,40]:='補上月周日';
ExcelApp.Range['AO2:AO3'].MergeCells:=True;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[2,41]:='平時合計';
ExcelApp.Range['AP2:AP3'].MergeCells:=True;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[2,42]:='周日合計';
ExcelApp.Range['AQ2:AQ3'].MergeCells:=True;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[2,43]:='節日合計';
ExcelApp.Range['AR2:AR3'].MergeCells:=True;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[2,44]:='合計';
ExcelApp.Range['AS2:AS3'].MergeCells:=True;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[2,45]:='加班合計';

ExcelApp.cells[3,9].value:='1';
ExcelApp.ActiveSheet.Columns[9].ColumnWidth:=3;
ExcelApp.cells[3,10].value:='2';
ExcelApp.ActiveSheet.Columns[10].ColumnWidth:=3;
ExcelApp.cells[3,11].value:='3';
ExcelApp.ActiveSheet.Columns[11].ColumnWidth:=3;
ExcelApp.cells[3,12].value:='4';
ExcelApp.ActiveSheet.Columns[12].ColumnWidth:=3;
ExcelApp.cells[3,13].value:='5';
ExcelApp.ActiveSheet.Columns[13].ColumnWidth:=3;
ExcelApp.cells[3,14].value:='6';
ExcelApp.ActiveSheet.Columns[14].ColumnWidth:=3;
ExcelApp.cells[3,15].value:='7';
ExcelApp.ActiveSheet.Columns[15].ColumnWidth:=3;
ExcelApp.cells[3,16].value:='8';
ExcelApp.ActiveSheet.Columns[16].ColumnWidth:=3;
ExcelApp.cells[3,17].value:='9';
ExcelApp.ActiveSheet.Columns[17].ColumnWidth:=3;
ExcelApp.cells[3,18].value:='10';
ExcelApp.ActiveSheet.Columns[18].ColumnWidth:=3;
ExcelApp.cells[3,19].value:='11';
ExcelApp.ActiveSheet.Columns[19].ColumnWidth:=3;
ExcelApp.cells[3,20].value:='12';
ExcelApp.ActiveSheet.Columns[20].ColumnWidth:=3;
ExcelApp.cells[3,21].value:='13';
ExcelApp.ActiveSheet.Columns[21].ColumnWidth:=3;
ExcelApp.cells[3,22].value:='14';
ExcelApp.ActiveSheet.Columns[22].ColumnWidth:=3;
ExcelApp.cells[3,23].value:='15';
ExcelApp.ActiveSheet.Columns[23].ColumnWidth:=3;
ExcelApp.cells[3,24].value:='16';
ExcelApp.ActiveSheet.Columns[24].ColumnWidth:=3;
ExcelApp.cells[3,25].value:='17';
ExcelApp.ActiveSheet.Columns[25].ColumnWidth:=3;
ExcelApp.cells[3,26].value:='18';
ExcelApp.ActiveSheet.Columns[26].ColumnWidth:=3;
ExcelApp.cells[3,27].value:='19';
ExcelApp.ActiveSheet.Columns[27].ColumnWidth:=3;
ExcelApp.cells[3,28].value:='20';
ExcelApp.ActiveSheet.Columns[28].ColumnWidth:=3;
ExcelApp.cells[3,29].value:='21';
ExcelApp.ActiveSheet.Columns[29].ColumnWidth:=3;
ExcelApp.cells[3,30].value:='22';
ExcelApp.ActiveSheet.Columns[30].ColumnWidth:=3;
ExcelApp.cells[3,31].value:='23';
ExcelApp.ActiveSheet.Columns[31].ColumnWidth:=3;
ExcelApp.cells[3,32].value:='24';
ExcelApp.ActiveSheet.Columns[32].ColumnWidth:=3;
ExcelApp.cells[3,33].value:='25';
ExcelApp.ActiveSheet.Columns[33].ColumnWidth:=3;
ExcelApp.cells[3,34].value:='26';
ExcelApp.ActiveSheet.Columns[34].ColumnWidth:=3;
ExcelApp.cells[3,35].value:='27';
ExcelApp.ActiveSheet.Columns[35].ColumnWidth:=3;
ExcelApp.cells[3,36].value:='28';
ExcelApp.ActiveSheet.Columns[36].ColumnWidth:=3;
ExcelApp.cells[3,37].value:='29';
ExcelApp.ActiveSheet.Columns[37].ColumnWidth:=3;
ExcelApp.cells[3,38].value:='30';
ExcelApp.ActiveSheet.Columns[38].ColumnWidth:=3;
ExcelApp.cells[3,39].value:='31';
ExcelApp.ActiveSheet.Columns[39].ColumnWidth:=3;
a58441791 2011-02-09
  • 打赏
  • 举报
回复
为什么要用控件?
直接用COM创建EXCEL不就OK了?
manfeng 2011-02-09
  • 打赏
  • 举报
回复
var
ws:olevariant;
begin
ExcelApplication1.Connect;
ExcelApplication1.Visible[0]:=True;
ExcelApplication1.Workbooks.Add(Null,0);
ExcelApplication1.Caption:='商品日报表统计';
ws:=ExcelApplication1.activesheet;
ws.columns[1].columnwidth:=50;
end;

用上面的代码吧,Delphi控制Office组件还是用后期绑定好,用导入类型库的早期绑定有很多麻烦事的。
DUDU 2011-01-26
  • 打赏
  • 举报
回复
这些天我也在搞excel,好头疼。这不是广告。也是群里有人提到EjunGrid这个表格控件,下载免费的用了下感觉不错。如果你的要求比较高,比如工作表》3,就得付费,否则都挺好用。而且还有大量demo参考
fengemail8 2010-11-27
  • 打赏
  • 举报
回复
应该把代码写在Excel里
VBA
lyhoo163 2010-11-27
  • 打赏
  • 举报
回复
关注。
chinany 2010-11-27
  • 打赏
  • 举报
回复
ExcelApplication1.activesheet.columns[1].columnwidth:=50
这个还是运行不了,提示如下然后光标停在columns[1]上
[Error] CX_SPTJ.pas(227): Undeclared identifier: 'columns'
ecjtu5208 2010-11-26
  • 打赏
  • 举报
回复
ExcelApplication1.activesheet.columns[1].columnwidth:=50
试试

5,939

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧