Я пытаюсь написать надстройку уровня приложения Excel. Он выполняет SQL-запрос в базе данных и заполняет рабочий лист его результатами. Я думал, это должно быть просто ... Но нет. Есть ли способ вставить DataTable в рабочий лист excel? Что-то вроде этого:Вставить результат SQL-запроса в рабочий лист Excel с помощью VSTO
using (SqlConnection connection = new SqlConnection(connectionString))
{
string cmdString = "SELECT * FROM [Table];" // Simplifyed query, in my add-in I need to JOIN 3 tables
SqlCommand cmd = new SqlCommand(cmdString, connection);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
// What I need to write here to insert my DataTable contents into worksheet?
}
Возможно, я должен использовать другой подход (не DataTable)? Однако мой запрос может возвращать до 100000 строк данных с 4 столбцами. Так что, по-моему, приклеивание по ячейкам не будет работать.
Это решение работает для me http://www.clear-lines.com/blog/post/Write-data-to-an-Excel-worksheet-with-C-fast.aspx. Я сделал 2D массив объектов и присвоил его диапазону. –