datatable中的数据导出excel文件
/// <summary> 【程序编程相关:[Struts]配置第一个Struts 】 【推荐阅读:FreeMarker概述 】 /// 将datatable中的数据导出到指定的excel文件中 【扩展信息:Velocity -- Java Web】 /// </summary> /// <param name="page">web页面对象</param> /// <param name="tab">包含被导出数据的datatable对象</param> /// <param name="filename">excel文件的名称</param> public static void export(system.web.ui.page page,system.data.datatable tab,string filename) { system.web.httpresponse httpresponse = page.response; system.web.ui.webcontrols.datagrid datagrid=new system.web.ui.webcontrols.datagrid(); datagrid.datasource=tab.defaultview; datagrid.allowpaging = false; datagrid.headerstyle.backcolor = system.drawing.color.green; datagrid.headerstyle.horizontalalign = horizontalalign.center; datagrid.headerstyle.font.bold = true; datagrid.databind(); httpresponse.appendheader("content-disposition","attachment;filename="+httputility.urlencode(filename,system.text.encoding.utf8)); //filename="*.xls"; httpresponse.contentencoding=system.text.encoding.getencoding("gb2312"); httpresponse.contenttype ="application/ms-excel"; system.io.stringwriter tw = new system.io.stringwriter() ; system.web.ui.htmltextwriter hw = new system.web.ui.htmltextwriter (tw); datagrid.rendercontrol(hw); string filepath = page.server.mappath("..")+"\\files\\" +filename; system.io.streamwriter sw = system.io.file.createtext(filepath); sw.write(tw.tostring()); sw.close();downfile(httpresponse,filename,filepath);
httpresponse.end(); } ... 下一页