浏览器之家


MSDN Visual系列:在MOSS中为Excel Services编写托管代码形式的用

MS office Excel 2007与上一版的Excel一样,都提供了对用户定义函数(UDF)的支持。UDF用于扩展Excel的计算和数据导入能力。我们可以利用UDF来:
  • 提供默认的Excel函数库中没有提供的功能
  • 可以为一些老的不支持的数据源创建自定义的数据种子,或创建满足特定应用程序需求的数据流

在2007 MS office体系中,我们可以使用 Excel Services来创建基于 .NET框架的UDF,并可以将这些UDF部署到MOSS中。这些UDF可以被部署在Excel Services上的Excel工作簿所调用。创建这些UDF可以来:

  • 调用一些自定义的数学函数
  • 从一些不受支持的数据源获取数据(比如从老的数据库,MS Access,MS sql server获取数据到工作簿中)
  • 调用Web服务

下面是为Excel Services编写托管代码形式的UDF的五大步骤,接下来将会分别对各步进行详细介绍。

  1. 在Visual Studio 2005中创建一个托管代码的UDF项目。
  2. 添加到Excel Services UDF组件的引用。
  3. 创建一个自定义函数。
  4. 配置Excel Services来允许UDF的使用。
  5. 创建并发布一个Excel工作簿来调用UDF。

在Visual Studio 2005中创建一个托管代码的UDF项目

我们可以通过套用Visual Studio 2005的类库模板来开始编写一个Excel Services的托管代码型UDF组件。

添加到Excel Services UDF组件的引用

如果Visual Studio 2005运行在MOSS服务器上,可以直接在Visual Studio中添加引用。在添加引用对话框的.NET标签中选择下面的Excel Services UDF Framework component,点确定即可。如果Visual Studio 2005没有运行在MOSS服务器上,我们需要手工从MOSS服务器上拷贝一个Excel Services UDF组件到本地项目文件夹中。该组件文件名是Microsoft.office.Excel.Server.UDF.dll 默认放在MOSS服务器下面的目录中:

C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ISAPI

拷贝过来后我们就可以在项目中添加该组件的引用了。在添加引用对话框中点浏览,找到那个dll,点确定即可。

注意:Microsoft.office.Excel.Server.UDF.dll只能用于Microsoft .NET Framework 2.0。所以,我们不能使用Visual Studio 2003来创建托管代码的UDF。因为在老版本的.NET框架下创建的组件无法添加引用到基于.NET Framework 2.0创建的组件。

创建自定义函数

接下来我们就可以创建自定义函数并用Excel Services UDF特性标识该函数。我们必须使用Microsoft.office.Excel.Server.UDF.UDFClass特性来标识实现UDF方法的类,并使用Microsoft.Office.Excel.Server.UDF.UDFMethod特性来标识该UDF方法。我们先引用下面的命名空间,以便在接下来的代码中不用敲一长串的命名空间路径:

using Microsoft.office.Excel.Server.Udf;

接下来,用UdfClass特性标记一下该类,用来说明其中包含了UDF的实现。

[UdfClass]
public class Class1

在该类中添加如下形式的方法来实现UDF。

[UdfMethod]
public double MyDouble(double

评论

没安装畅言模块