动态下载Excel模板
来源:互联网 发布:mysql 连接数设置 编辑:程序博客网 时间:2024/03/29 07:06
在组织部这个系统中有个需求是导入数据,一般来说导入数据就是给定表头就行,不过我这里是根据不同指标下载不同的Excel。如下图所示:
刚开始下载Excel模板是没有链接的,需要选择年份和指标进行下载模板。做法如下:
前台JS中:
<div id="inputExcel"> <fieldset style="width: 500px; height: 70px;"> <span class="tip">提示:导入数据前请选择指标下载相应的EXCEL模板</span> <a id="downloadExcel" class="btn-lit"><span>点击下载EXCEL模板</span></a> <legend>Excel导入</legend> <input id="File1" type="file" /> <input type="button" value="导入" style="width: 100px; height: 25px; margin-top: 10px;" /> </fieldset> </div>在点击指标后加载<a>的href属性
$('#downloadExcel').attr('href', 'CountyQuality.ashx?test=downExcel&yearText=' + getYear + '&targetid=' + getTarget + '&TargetText=' + getTargetText);通过在href,值中传入链接,链接包含着需要的参数,用一般处理程序来接收。
/// <summary> /// 下载excel /// </summary> /// <param name="context"></param> public void DownExcel(HttpContext context) { string strCheckedYearValue = context.Request.Params["yearText"]; //获取年份 string id = context.Request.Params["targetid"]; string targetText = ""; if (null != context.Request.Params["TargetText"]) { targetText = "县市区" + context.Request.Params["TargetText"]; //获取指标的名称; } StringBuilder strWhere = new StringBuilder(); strWhere.Append("TargetId ='" + id + "'and Timestamp='" + strCheckedYearValue + "'"); DataSet ds = cityVotesbll.GetNewColumn(strWhere.ToString()); DataTable dt = ds.Tables[0]; ToExcel(dt,targetText); //传入dt,调用方法生成Excel }
/// <summary> /// 导出Excel /// </summary> /// <param name="dt"></param> /// <param name="ExportFileName"></param> public void ToExcel(DataTable dt, string strName) { DataGrid dgExcel = new DataGrid(); dgExcel.DataSource = dt; dgExcel.DataBind(); HttpContext.Current.Response.Charset = "GB2312"; string fileName = ""; if (strName == "") { fileName = HttpUtility.UrlEncode(Guid.NewGuid().ToString(), System.Text.Encoding.UTF8); } else { fileName = HttpUtility.UrlEncode(strName, System.Text.Encoding.UTF8); } //string fileName = HttpUtility.UrlEncode(Guid.NewGuid().ToString(), System.Text.Encoding.UTF8); string str = "attachment;filename=" + fileName + ".xls"; HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8; HttpContext.Current.Response.ContentType = "application/ms-excel"; HttpContext.Current.Response.AppendHeader("content-disposition", str); StringWriter sw = new StringWriter(); HtmlTextWriter htmTextWriter = new HtmlTextWriter(sw); dgExcel.RenderControl(htmTextWriter); HttpContext.Current.Response.Write("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />"); string style = "<style>td{mso-number-format:\"\\@\";}</style>";//防止导出excel时将以0开头的全数字数据的0去掉 HttpContext.Current.Response.Write(style); HttpContext.Current.Response.Write("</head><body>"); HttpContext.Current.Response.Write(sw); HttpContext.Current.Response.Write("</body></html>"); HttpContext.Current.Response.End(); }这样获取的表头后就可以导出Excel,前台显示为:
0 0
- 动态下载Excel模板
- java 下载Excel动态模板文件压缩包
- 下载excel模板
- excel 下载模板
- 下载excel模板
- 下载excel模板
- EXCEL下载模板
- excel 下载模板
- Java 下载 Excel模板
- excel模板文件下载
- Java jxl在excel模板中动态加入数据,及前端下载excel的例子
- springmvc 利用模板 下载excel
- Java Web下载Excel模板
- java之excel模板下载
- 简单的下载excel模板
- 下载Excel文件模板 ---文件下载--SSM
- excel util;读取模板,动态加载模板
- NPOI动态生成Excel下载
- Objective-c在宏里拼接字符串
- JdbcTemplate 使用Mysql 临时表
- jquery上下移动<tr>
- 世界上最伟大的爱情就是我爱你,与你无关
- Android 在webview中设置代理
- 动态下载Excel模板
- 在Java中制作对Excel表常用的方式
- Perl语言学习笔记
- windows server 2008 r2 架设CCPROXY代理服务器无法工作的解决方案
- Git Gui 查看分支历史的时候中文显示乱码
- 安卓上网络图片的处理解决oom------------Universal Image Loader for Android
- hdu 1068 Girls and Boys (最大匹配入门)
- android、ios与服务器端php使用rsa加密解密通讯
- 归并排序