Изменение порядка таблиц 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 );
    }
}
Другие вопросы по тегам