zoukankan      html  css  js  c++  java
  • asp.netDataTable导出excel方法(2)

    上一篇文章提到看到同事导出excel的新方法,感觉比上一篇简单得多,所以想贴上来,与大家分享。

    在后台拼数据,都是用的htmltable标签的写法:

                string line = "text-align:center;border:thin solid windowtext;";//设置单元格格式
                StringBuilder content = new StringBuilder();
                content.Append("<table class='TableCssWithBorder'><tr>");//拼接一个html的table,把数据都写进table里
                content.Append("<td style='" + line + "' rowspan='2'><b>班级</b></td>");
                content.Append("<td style='" + line + "' colspan='2'><b>英语四级</b></td>");
                content.Append("<td style='" + line + "' colspan='2'><b>英语六级</b></td>");
                content.Append("<td style='" + line + "' colspan='2'><b>总计</b></td></tr>
    ");//标题
                for (int j = 0; j < dt.Rows.Count; j++)//添加数据,dt.Rows是datatable中的
                {
                    content.Append("<tr>");
                    content.Append("<td style='text-align:center;" + line + "'>" + dt.Rows[j]["Classes"] + "</td></tr>");//主要是格式,数据这些仅供参考。
                   
                    }    
                content.Append("</table>");
                string url = @"/UserReportFile/全部统计表/" + Guid.NewGuid().ToString() + "/";//url
                try
                {
                    string fileSavePath = context.Server.MapPath(url);
                    Directory.CreateDirectory(fileSavePath);
                    File.WriteAllText(fileSavePath + "sum.xls", content.ToString(), Encoding.UTF8);//写到文件里
                    context.Response.Write(url + "全部报名统计表.xls");//生成!
                }
                catch
                {
                    context.Response.Write("error");
                }
    

    前端的写法是

    if (data.indexOf("xls") >= 0) {
                                window.open("http://" + window.location.host + data);//用的传递数据的方法是ajax,对返回过来的数据进行判断,这样就能下载你导出的excel了
    

      真的很简单!

  • 相关阅读:
    HDU 5313 bitset优化背包
    bzoj 2595 斯坦纳树
    COJ 1287 求匹配串在模式串中出现的次数
    HDU 5381 The sum of gcd
    POJ 1739
    HDU 3377 插头dp
    HDU 1693 二进制表示的简单插头dp
    HDU 5353
    URAL 1519 基础插头DP
    UVA 10294 等价类计数
  • 原文地址:https://www.cnblogs.com/junshijie/p/5275171.html
Copyright © 2011-2022 走看看