Вы можете экспортировать в Excel-файл с использованием веб-сетки (только в коде).Предполагая, что вы создаете WinForm-приложение, вам нужно будет сделать ссылку на библиотеку System.Web
.
// Create the DataGrid and perform the databinding
var myDataGrid = new System.Web.UI.WebControls.DataGrid();
myDataGrid.HeaderStyle.Font.Bold = true;
myDataGrid.DataSource = myDataTable;
myDataGrid.DataBind();
string myFile = "put the name here with full path.xls"
var myFileStream = new FileStream( myFile, FileMode.Create, FileAccess.ReadWrite );
// Render the DataGrid control to a file
using ( var myStreamWriter = new StreamWriter( myFileStream ) )
{
using (var myHtmlTextWriter = new System.Web.UI.HtmlTextWriter(myStreamWriter ))
{
myDataGrid .RenderControl( myHtmlTextWriter );
}
}
Я не тестировал ее с таким количеством записей, поэтому я неНе знаю, как это повлияет на память.
Редактировать:
Обратите внимание на комментарий @Charles Williams, что в Excel 2003 есть ограничение строки