Изменение порядка таблиц Excel без объектов взаимодействия - PullRequest
0 голосов
/ 11 февраля 2011

Я пишу программу на C #, которая необходима для переупорядочения листа по одному из столбцов. В настоящее время я не могу использовать объекты Office Interop для управления файлом, поэтому я читал его с помощью Excel Data Reader (http://exceldatareader.codeplex.com/) для чтения в файлах, поскольку мои выходные данные всегда находятся в csv, tsv или таблица SQL. Есть ли какие-либо идеи относительно того, как я смогу сохранить DataTable как excel или если существует команда для его переупорядочения без Interop?

1 Ответ

1 голос
/ 11 февраля 2011

Существует способ сохранить данные в 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 );
    }
}
...