C# и Excel автоматизации, как использовать функцию CopyFromRecordset

Я пытаюсь заполнить файл Excel некоторыми данными с сервера SQL,

мой код выглядит следующим образом,

   public static void SQLToExcel(Excel.Workbook xlWorkBook, string SQL, string tFORMAT)
    {
        string connectionString = ConfigurationManager.ConnectionStrings["ANSICConnection"].ConnectionString;
        SqlConnection conn;
        conn = new SqlConnection(connectionString);
        conn.Open();


        using (SqlCommand cmd = new SqlCommand(SQL, conn))
        {
            SqlDataReader reader = cmd.ExecuteReader();

            if (reader.HasRows)
            {
                reader.Read();

                ((Range)xlWorkBook.Sheets["COVER"].Range("D6")).CopyFromRecordset(reader);


            }
            reader.Close();
        }


        conn.Close();


    }

Я получаю следующую ошибку

{"Такой интерфейс не поддерживается (Исключение из HRESULT: 0x80004002 (E_NOINTERFACE))"}

мне нужно конвертировать ридер в массив?

0 ответов

Чтобы иметь возможность использовать CopyFromRecordset вам нужно заменить SqlDataReader с ADODB.Recordset, Не забудьте добавить ссылку на библиотеку Microsoft ActiveX Data Objects 2.x.

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