C# で Excel-Dna を使用してデータを表示できません。データを取り込んでテーブルを作成する関数があるので、データを表示するためだけにテスト関数を書きましたが、値を取得できません。エラーは #VALUE です。
public class Functions : IExcelAddIn
{
public static String Username { get; set; }
public static String Password { get; set; }
public static Random rnd = new Random();
public void AutoOpen()
{
ExcelAsyncUtil.Initialize();
}
public void AutoClose()
{
ExcelAsyncUtil.Uninitialize();
}
[ExcelFunction(Description="My first Excel-DNA function")]
public static string MyFirstFunction(string name)
{
return "Hello, " + name + ".";
}
public static string ShowCurrentUser()
{
return (String.IsNullOrWhiteSpace(Username)) ? "Noone is logged in." : Username;
}
public static string LogIn(string user, string password)
{
const string connectionString = "server=localhost;userid={0};password={1};";
MySqlConnection connection = new MySqlConnection(String.Format(connectionString, user, password));
string output = "";
try
{
connection.Open();
Username = user;
Password = password;
output = "Successfully logged in!";
}
catch (Exception e)
{
output = "Errors: " + e.ToString();
}
finally
{
connection.Close();
}
return output;
}
public static object QMRTable(int SynNum, int YoA, int qtr, int TabNum)
{
object[,] response = new object[16, 3];
for (int r = 0; r < response.GetLength(0); r++)
for (int c = 0; c < response.GetLength(1); c++)
response[r, c] = String.Format("Synd: {0}, YoA: {1}, Qtr: {2}, ({3},{4})", SynNum, YoA, qtr, r, c);
return XlCall.Excel(XlCall.xlUDF, "Resize", response);
//return response;
}
public static object QMRItem(int SynNum, int YoA, string qtr, string item)
{
return (rnd.NextDouble() * (100.0 - 0.0) + 0.0) + " GBP (M)";
}
}
私が理解していないのは、これらのメソッドが正しく呼び出されるようにアドインを設定する方法です。