asp.net中,DataTable导出Excel的问题。

在我的一个页面中,有一个DataTable,我像导出成Excel。但是遇到了点问题。
我希望实现的效果是,点击导出按钮以后,出现一个对话框,选择保存路径,然后再保存该DataTable。
现在的问题就是
1、这个对话框,用什么控件?
2、如何导出DataTable,和窗体应用程序不一样,因为本地页面中,实际上只是标签,DataTable在服务器端。

第1个回答  2012-01-09
保存对话框你可以网上查询一下SaveFileDialog这个类。挺简单的。应该一看就会。
导出DataTable,你不是要导出成Excel么。在代码里引用windows.office.excel,引用好像是这个,记不太清了,你网上搜下,用Execl类自带的方法,就可以把DataTable转换成Excel格式的文件,然后再用保存对话框保存到本地就好了。
第2个回答  2012-01-09
你先把dataTable 数据绑定到gridview上 用gridview 导出。
导出代码:
string fileName = "MyExcelFile.xls";
DataGrid dg = ExportExcel.ExportExcelFile(ds.Tables[0], connname, fileName);
Response.Clear();
Response.Buffer = true;
Response.Charset = "utf-8";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AppendHeader("Content-Disposition", "attachment;filename=MyExcelFile.xls");
Response.ContentType = "application/ms-excel"; //设置输出文件类型为excel文件。
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
dg.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
第3个回答  2012-01-09
你去看一下第三方的组件 weboffice.ocx。现在这个应用的比较好。支持所有的office版本。自己做的点击按钮式代码,可能会遇到OFFICE版本不同,出现错误问题。
第4个回答  2012-01-09
相似回答