Preguntas más frecuentes sobre las UDF de Excel Services
Última modificación: jueves, 21 de enero de 2010
Hace referencia a: SharePoint Server 2010
En este artículo
Creación de UDF de código administrado
Tipos de datos
XLL
A continuación, se muestran algunas de las preguntas más frecuentes acerca de las funciones definidas por el usuario (UDF) de Servicios de Excel.
Creación de UDF de código administrado
¿Qué es una clase UDF admitida?
La clase UDF de un ensamblado UDF debe ser pública. Puede estar sellada. No puede ser abstracta, interna, ni privada. Debe tener un constructor público sin parámetros. Para los lenguajes que generan automáticamente un constructor público sin parámetros (por ejemplo, C#), es posible no tener constructor en absoluto.
¿Qué es un método UDF admitido?
El método UDF de un ensamblado UDF debe ser público. El método UDF debe ser seguro para subprocesos.
Un método UDF no puede tener:
Parámetros ref o out
Atributos retval
Argumentos Optional
Tipos de datos no admitidos
El método UDF también debe tener un tipo de valor devuelto admitido. Para obtener una lista de los tipos de datos admitidos, consulte la sección "Tipos de datos" de este tema.
¿Puedo llamar a un servicio web desde un ensamblado UDF?
Sí. Para obtener un ejemplo, consulte el código de ejemplo de UDF siguiente. Consulte también Procedimiento para crear una UDF que llame a un servicio web.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Excel.Server.Udf;
using UdfWS.dk.iter.webservices;
namespace UdfWS
{
[UdfClass]
public class MyUdfClass
{
// Instantiate the Web service. The Web service used is at
// http://webservices.iter.dk/calculator.asmx
Calculator calc = new Calculator();
[UdfMethod]
public int MyFunction()
{
int i;
i = (i + 88) * 2;
return i;
}
[UdfMethod(IsVolatile = true)]
public double MyDouble(double d)
{
return d * 9;
}
[UdfMethod]
public int AddMe(int a, int b)
{
int c;
// Call the Web service Add method
c = calc.Add(a, b);
return c;
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.Office.Excel.Server.Udf
Imports UdfWS.dk.iter.webservices
Namespace UdfWS
<UdfClass> _
Public Class MyUdfClass
' Instantiate the Web service. The Web service used is at
' http://webservices.iter.dk/calculator.asmx
Private calc As New Calculator()
<UdfMethod> _
Public Function MyFunction() As Integer
Dim i As Integer
i = (i + 88) * 2
Return i
End Function
<UdfMethod(IsVolatile := True)> _
Public Function MyDouble(ByVal d As Double) As Double
Return d * 9
End Function
<UdfMethod> _
Public Function AddMe(ByVal a As Integer, ByVal b As Integer) As Integer
Dim c As Integer
' Call the Web service Add method
c = calc.Add(a, b)
Return c
End Function
End Class
End Namespace
Tipos de datos
¿Cuáles son los tipos de datos que se pueden usar como parámetros de una UDF?
Los tipos de datos admitidos son los siguientes:
Tipos numéricos: Double, Single, Int32, UInt32, Int16, UInt16, Byte, Sbyte
String
Boolean
Matrices de objetos: matrices unidimensionales o bidimensionales, es decir object[] y object[,]
DateTime
¿Cuáles son los tipos de valores devueltos admitidos?
Los tipos de valores devueltos admitidos son los siguientes:
Tipos numéricos: Double, Single, Int32, UInt32, Int16, UInt16, Byte, Sbyte
String
Boolean
Matrices de objetos: matrices unidimensionales o bidimensionales, es decir object[], object[,], int[] e int[,])
DateTime
Object
XLL
¿Se admiten los archivos XLL?
No directamente. Servicios de Excel cargará y llamará sólo a las UDF de código administrado. No obstante, puede escribir un contenedor de código administrado para llamar a los XLL e implementar los XLL en el servidor, junto con el ensamblado del contenedor de código administrado.
Vea también
Tareas
Procedimiento para crear una UDF que llame a un servicio web
Procedimiento para confiar en una ubicación
Procedimiento para detectar excepciones
Conceptos
Información sobre las UDF de Excel Services
Tutorial: Desarrollo de una UDF de código administrado
Arquitectura de Excel Services