Изменение порядка таблиц Excel без объектов взаимодействия
Я пишу программу на C#, которая необходима для переупорядочения листа по одному из столбцов. В настоящее время я не могу использовать объекты Office Interop для управления файлом, поэтому я читал его с помощью Excel Data Reader (http://exceldatareader.codeplex.com/), чтобы прочитать файлы в качестве выходных данных. всегда в CSV, TSV или SQL-таблице. Любые идеи о том, как я мог бы сохранить DataTable как Excel или если есть команда, чтобы изменить порядок без Interop?
1 ответ
Решение
Существует способ сохранить данные в Excel, не используя Interop, с помощью веб-сетки. Я полагаю, вы говорите о приложении, поэтому вы должны сделать ссылку на 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 );
}
}