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.