导出这句代码是页面中添加了一个导出按钮
在js中写一下代码,表示在当 DOM(文档对象模型) 已经加载,并且页面(包括图像)已经完全呈现时,会发生 ready 事件。由于该事件在文档就绪后发生。因此我们,因此把所有其他的 jQuery 事件和函数置于该事件中。例如导出;$(document).ready(function () {//当导出这个链接触发时,我们执行ReportExcel()方法 $('#btnReport').bind('click', function () { ReportExcel(); });})
这里是一般处理程序的代码 string connStr = string.Empty; string msg = string.Empty; public void ProcessRequest(HttpContext context) { context.Response.ContentType = 'text/plain'; try { try { connStr = context.Session['connStr'].ToString(); } catch (Exception) { throw new Exception('timeout'); } string ajax = context.Request['a']; switch (ajax) { case '1': msg = Export(context); break; } } catch (Exception ex) { msg = StringPlus.ToOpResult(false, ex.Message); } context.Response.Write(msg); context.Response.End(); }private string Export(HttpContext context) { try { string ogk01 = context.Request['ogk01'] ?? ''; string ogk02 = context.Request['ogk02'] ?? ''; string ogk14 = context.Request['ogk14'] ?? ''; OgkFileBll bll = new OgkFileBll(); DataTable excelDt = bll.Export(connStr, ogk01, ogk02, ogk14); string fileName = userID.Trim() + DateTime.Now.ToString('yyyyMMddHHmmssffff') + '.xls'; DataToExcel dte = new DataToExcel(); string filePath = '/sendlog/downLoad/' + fileName; string strHtml = dte.DtToHtml(excelDt); File.WriteAllText(context.Server.MapPath(filePath), strHtml); msg = StringPlus.ToOpResult(true, filePath); } catch (Exception ex) { msg = StringPlus.ToOpResult(false, ex.Message); } return msg; }
这一段是比较重要的,它主要是把获取到的表数据转换为Excel输出,因为我们的目的就是把表数据导出Excel ///
' + dc + ' | '); } sb.Append('
' + Convert.ToString(dr[i]).Trim() + ' | '); } sb.Append('
接下来就是关于业务逻辑层和数据访问层的编写了。这些靠自己了。只要实现第四步中的一下代码DataTable excelDt = bll.Export(connStr, ogk01, ogk02, ogk14);获取到excelDt(也就是表数据)就OK了