Office Web控件应用开发dephi

本文介绍了如何在Delphi中利用Office Web Components (OWC) 的ChartSpace和Spreadsheet控件进行动态Web文档的创建。内容涵盖了基于静态数据和数据库创建图表,以及使用Spreadsheet控件加载数据和设置单元格属性的方法。通过示例代码展示了如何与数据库交互,动态更新图表和电子表格内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Microsoft Office 2000一个新的令人振奋的特性就是它提供了Office Web Components (OWC,一组用于创建动态Web文档的ActiveX控件)。OWC包括六个控件,实现了Excel的部分功能并提供了数据库存取功能,它们是ChartSpace、Spreadsheet、DataSourceControl、RecordNavigationControl、ExpandControl和Pivot-Table。DataSourceControl和RecordNavigationControl控件提供了数据库存取功能,它们可以用ADOExpress控件来替代。 ExpandControl本文将不涉及,有兴趣的朋友可自行研究。要想使用这些ActiveX控件需要引入相应的类型库(当然如果是后期绑定就不需要),选择菜单命令Project | Import Type Library,然后在弹出的对话框选择Microsoft Office Web Components 9.0 (Version 1.0),确认选中了Generate Component Wrapper选项(Delphi5中支持),然后点击Install按钮,六个组件就被加到了组件面板上。

类型库文件定义在MSOWC.DLL文件中,位于/Program Files/Microsoft Office 2000/Office目录下。帮助文件为MSOWCVBA.CHM,位于/Program Files/Microsoft Office 2000/Office/1033。

ChartSpace组件

ChartSpace是用来创建图表的,它支持46 种图表,从线型到Doughnut Exploded型,详细类型参见帮助中的ChartChartTypeEnum 参数列表。它支持多种数据源,比如其他OWC控件,像Spreadsheet控件,ADO数据源或静态数据。

1. 基于静态数据的图表

在Delphi中我们可以把静态数据储存在Variant数组中,数组可以使用VarArraycreate 函数创建,也可以使用VarArrayOf函数创建动态的Variant数组。下面的代码演示了如何创建并赋值给一个静态Variant数组。

var

XValues : Variant;

...

//创建Variant数组

XValues := VarArraycreate([0,2], varVariant);

//加载X轴数据

XValues[0] := 'Element one';

XValues[1] := 'Element two';

XValues[2] := 'Element two';

VarArraycreate 的两个参数用于指定数组的维数和项目类型,在上面的例子中我们创建了Variant类型的有三个项目的数组。下面的代码则演示了如何用VarArrayOf 函数创建一个一维Variant类型的数组:

VarArrayOf([104737, 50952, 78128, 117797, 52902, 80160, 47491, 62435]);


图1.18

使用ChartSpace控件包括几个步骤:首先,需要清除图表已有的内容;随后,添加一个新的图表对象到图表集合中(集合最多允许有16个图表);然后,就可以为图表提供数据(Series集合),设定标题(Title 属性),指定坐标轴(Axes 集合)和设定插图(Legend 属性)。图1.18显示了一个简单的ChartSpace控件的类体系关系。

下面给出一个例子演示如何使用静态数据创建图表,首先我们需要设定一些变量:

var

Chart : WCChart; // 图表

Series : WCSeries; // Series

XValues : Variant; // X轴值

清空图表原有内容。

ChartSpace1.Clear;

ChartSpace1.Refresh;

创建新的图表,因为这是图表集合中第一个图表,它的索引为0。

Chart := ChartSpace1.Charts.Add(0);

设定图表标题。

Chart.HasTitle := True; //说明图表有标题

Chart.Title.Caption := 'Sales By Category';

然后就是提供数据了,先创建X轴的值,这里使用静态Variant数组作为数据源。

XValues := VarArraycreate([0,7], varVariant);

XValues[0] := 'Beverages';

XValues[1] := 'Condiments';

XValues[2] := 'Confections';

XValues[3] := 'Dairy Products';

XValues[4] := 'G
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值