首页 > 其他分享 >DELPHI应用EXCEL(4) 使用TOLEContainer控件

DELPHI应用EXCEL(4) 使用TOLEContainer控件

时间:2023-08-07 17:22:26浏览次数:48  
标签:控件 SHEET DELPHI EXCEL range B2 Cells J10

严格的来说,tolecontainer控件并不是一个EXCEL控件,而是一个所有OLE文件的控件,可以用它打开PDF、OFFICE、TXT文件等等。

而且使用OLECONTAINER控件打开的文件,文件内容依旧是一个VARIANT类型的数据。

OLECONTAINER控件在SYSTEM组下。

 

使用OLECONTAINER控件需要注意以下几点:

1、一次只能打开或新建一个OLE,如果已经有OLE,则需要先删除已经存在OLE。

2、OLECONTAINER需要RUN,才能激活。

3、有时候打开某些OLE时,并不能集成在DELPHI的FORM上,而是需要如同oleobject一样通过调用应用程序来实现操作。例如在我的电脑上安装的是DELPHI XE6,就只能打开EXCEL的XLS文件,而不能打开XLSX文件。

打开XLS文件的设计阶段显示如下:

 

而打开XLSX文件的设计阶段显示如下:

 

下面的语句可以对OLECONTAINER进行操作:

procedure TForm1.btn3Click(Sender: TObject);
var i,j:Integer;   SHEET:ExcelWorksheet;
begin
  OC1.DestroyObject;
  //下面这个屏蔽的语句用于打开插入OLE的语句
  //oc1.InsertObjectDialog;
  oc1.CreateObject('EXCEL.SHEET',FALSE);
  OC1.Run;
  SHEET:=iUnknown(oc1.OleObject.Application.Workbooks[1].Worksheets[1]) as ExcelWorksheet;
  SHEET.Cells.range['a1','b1'].RowHeight:=40;
  sheet.cells.range['B1','J1'].Font.size:=20;
  sheet.cells.range['B1','J1'].Font.name:='华文行楷';
  sheet.cells.range['B1','J1'].HorizontalAlignment:=xlCenter;
  sheet.cells.range['B1','J1'].Merge(true);
  SHEET.CELLS.ITEM[1,2]:='九九乘法表';
  SHEET.cells.range['B2','J10'].rows.rowheight:=30;
  SHEET.cells.range['B2','J10'].columns.columnwidth:=8;
  SHEET.CELLS.RANGE['B2','J10'].Cells.Borders.Item[7].Weight:=3;
  SHEET.cells.range['B2','J10'].Cells.Borders.item[4].weight:=1;
  SHEET.CELLS.RANGE['B2','J10'].Cells.Borders.Item[8].Weight:=3;
  SHEET.CELLS.RANGE['B2','J10'].Cells.Borders.Item[9].Weight:=3;
  SHEET.CELLS.RANGE['B2','J10'].Cells.Borders.Item[10].Weight:=3;
  oc1.OleObject.Application.Workbooks[1].Worksheets[1].Cells.Item[3,6]:='=pi()';
  begin
    for i:=1 to 9 do
      for j := 1 to i do
        begin
          oc1.OleObject.Application.Workbooks[1].Worksheets[1].Cells.item[i+1,j+1]:=Format('%d*%d=%d',[j,i,i*j]);
        end;
  end;
  oc1.Enabled:=False;
end;

执行结果如下图:

 

通过上面的例子可以看出,使用OLECONTAINER的操作其实和OLEOBJECT差不多,也能实现对EXCEL的操作。

 

标签:控件,SHEET,DELPHI,EXCEL,range,B2,Cells,J10
From: https://www.cnblogs.com/luohq001/p/17611948.html

相关文章

  • Delphi ShellExecute为应用程序传递多个参数
    开发环境DelphiXe11.3 调用的程序  procedureTForm2.Button1Click(Sender:TObject);begin//某个参数包含空格时(用""),如下面这行;这里传递过去是3个参数ShellExecute(handle,'open',pchar('C:\Users\PC\Desktop\新建文件夹\新建文件夹\Win32\Debug\Project2.ex......
  • Delphi应用EXCEL(3) 使用OLEOBJECT
    1、创建EXCEL的方法首先创建Excel对象,使用单元ComObj:VarExcelApp:Variant;beginExcelApp:=CreateOleObject(''Excel.Application'');使用OLEOBJECT创建的EXCEL应用程序是一个Variant类型,所以DELPHI不能自动补充语句,也没有帮助文件,需要到visualbasic......
  • Word控件Spire.Doc 转换教程(一):在 C#、VB.NET 中将 Word Doc 转换为 XML
    谈到OfficeOpenXML,我们可能会想到HTML。实际上,OfficeOpenXML与HTML类似,都是基于标签的语言。OfficeOpenXML和HTML之间的区别在于OfficeOpenXML使用的标记不是预定义的。如果我们在OfficeOpenXML中创建自己的标签,我们需要遵循一些规则。首先,OfficeOpenXML文档中......
  • DELPHI应用EXCEL(1)
    在介绍使用delphi控制excel之前前,我们首先需要了解关于EXCEL的几个基本概念:EXCEL应用程序、工作薄(book)、工作表(sheet)以及单元格(CELLS); 首先,我们是打开excel应用程序,并可设置应用程序可见或不可见,可以设置应用程序标题等等;没有管理工作簿(workbook)的应用程序是没有意义的,我......
  • Siemens 如何用脚本将WinCC7.5写数据到Excel中?
    01要完成的功能任务在Wincc界面中使用按钮,添加脚本将需要写入的数据写入到excel表格中;02软件Wincc7.5、office2016;03实现方法1.Wincc新建工程,然后打开画面添加按钮对象以及TAG2、TAG3两个内部变量的IO域(图1所示) 2.在按钮中组态以下VBS脚本,如图2所示: 3.更改脚本中Excel......
  • 解析json数据导出某个字段的值到excel(记录)
    记录一下导出代码publicstaticvoidmain(String[]args){ //将你的json数据放在txt文档里并复制路径到下面StringfilePath="E:/home/2023年需求/人才/20230801出表/job_mobile_json.txt";//替换成你的文件路径try{Stringcontent=r......
  • excel 合并单元格内容数据写入
    youcanusethiscodetoopen(test.xlsx)fileandmodifyA1cellandthensaveitwithanewnameimportopenpyxlxfile=openpyxl.load_workbook('test.xlsx')sheet=xfile.get_sheet_by_name('Sheet1')sheet['A1']='hel......
  • Javaexcel文件读取,插入到数据库中
    你可以使用Java的ApachePOI库来读取Excel文件,并使用JDBC连接数据库将数据插入到数据库中。下面是一个示例代码:importjava.io.FileInputStream;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importorg.apache.poi.ss.usermo......
  • 如何快速对比两张Excel报表
    背景最近由于工作原因,要切换系统,新老系统都会产生excel报表,上线前需要验证新老系统产生的报表数据的一致性,作为测试的一部分。理论上,是要求新老系统新生成的报表要一模一样,要是不一致的地方,也需要标注出合理的解释。本文地址:https://www.cnblogs.com/hchengmx/p/17609130.html......
  • 盘点下4个Winform UI开源控件库
    今天一起来盘点下4个WinformUI开源控件库,有.NetFramework,也有.NetCore。 1、支持.Net7的开源UI组件框架项目简介这是一个基于.NetFramework、.Net6+开发的,WinForm开源UI框架,框架包含常用的控件库、工具类库、扩展类库、单窗口库、多窗口库。默认风格是模仿Element的主......