ExcelDNA и Mysql

Я новичок в C#, создание плагинов Excel, а также новичок в ExcelDNA. Я получил примеры, работающие на http://exceldna.codeplex.com/wikipage?title=Getting%20Started. UDF "MultiplyThem" работает как положено.

Когда я изменяю пример № 3 на этом сайте, чтобы получить данные из базы данных MySQL. Я ссылаюсь не только на ExcelDna.Integration.dll, но и MySql.Data.dll в моем проекте. Затем я скомпилирую это с этим утверждением:

c:\windows\microsoft.net\framework\v2.0.50727\csc.exe /target:library /reference:ExcelDna.Integration.dll /reference:MySql.Data.dll TestLib.cs

Когда я открываю надстройку Excel и начинаю печатать в своем UDF(в данном случае "=MultiplyThem()"), то нет такого UDF с именем "MultiplyThem". Почему это вдруг перестало работать? Вот мой код C#:

using ExcelDna.Integration;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

public class MyFunctions
{
[ExcelFunction(Description = "Grabs data from database", Category = "Useful functions")]
public static string MultiplyThem(string[] args)
{
    string connString = "Server=localhost;Port=3306;Database=test;Uid=root;password=pword";
    MySqlConnection conn = new MySqlConnection(connString);
    MySqlCommand command = conn.CreateCommand();
    command.CommandText = "SELECT field_value FROM customers";
    try
    {
        conn.Open();
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }

    string myvariable = "bad";

    MySqlDataReader reader = command.ExecuteReader();
    while (reader.Read())
    {
        myvariable = reader["field_value"].ToString();
    }

    return myvariable;
}
}

И мой файл Test1.dna (я нацеливаюсь на.NET Framework 4 в моем проекте):

<DnaLibrary RuntimeVersion="v4.0">
   <ExternalLibrary Path="TestLib.dll"/>
</DnaLibrary>

1 ответ

Решение

Excel-DNA в настоящее время не поддерживает строковые массивы в качестве параметров. Если вы измените строковые аргументы [args] на object[] args, все будет хорошо.

Другие вопросы по тегам