0

我正在用 C# 编写一个程序,该程序需要按其中一列重新排序工作表。目前我无法使用 Office Interop 对象来控制文件,所以我一直在使用 Excel Data Reader (http://exceldatareader.codeplex.com/) 读取它,以便读取文件,作为我的输出始终位于 csv、tsv 或 SQL 表中。关于如何将 DataTable 保存为 excel 或者是否存在命令以在没有互操作的情况下对其重新排序的任何想法?

4

1 回答 1

1

有一种方法可以通过 web 网格将数据表保存到 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 );
    }
}
于 2011-02-10T21:58:13.113 回答