是否可以使用Excel-Dna链接函数调用?
我正在尝试从Excel Sheet调用这样的内容:
=CreateAccount(CreateUser("John","Doe"))
但是内部函数CreateUser
返回ExcelErrorValue
。
演示C#代码如下所示:
namespace ExcelDnaDemo
{
using ExcelDna.Integration;
public static class MyFunctions
{
[ExcelFunction(Description = "C-U")]
public static object CreateUser(string firstName, string lastName)
{
return new User(firstName, lastName);
}
[ExcelFunction(Description = "C-A")]
public static string CreateAccount(
[ExcelArgument(
Name = "Usr",
Description = "User test", AllowReference = true)]
object user)
{
var a = new Account(user);
return $"{a.User.FirstName} {a.User.LastName} {a.Id}";
}
}
public class User
{
public User(string firstName, string lastName)
{
FirstName = firstName;
LastName = lastName;
}
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Account
{
public object User { get; private set; }
public Guid Id { get; private set; }
public Account(object user)
{
User = user;
Id = Guid.NewGuid();
}
}
}
您可以将新用户添加到内部,Dictionary<string, User>
然后从CreateUser
函数中返回某种键,例如“ User:1” 。然后CreateAccount
输入字符串关键字,并检查字典中是否存在该关键字以检索缓存的User
对象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句