• C#将数据以XML格式写入Excel


    本文转载:http://www.cnblogs.com/eflylab/archive/2008/09/21/1295580.html

    c#将数据导入Excel另类方法

    今天公司突然给个Excel模版,要将数据导入。这方法网上应该一搜一大把,但奇怪的是找了几种方法居然不理想。其中有一篇,大概是讲用模版且分页导出Excel。试了作者的例子。使用它提供的方法必须分页,每页25条,多了还不行。显示不符合我的要求。

    使用ASP.NET中的DATAGRID控件可以使用导出Excel。但其导出的本质是Response一段HTML代码,并且设置输出类型为Excel即可。其实这种方法与控件没有关系,换言之,只要你设置了HTML代码,以Excel类型输出到页面,即可实现任意你想要的格式。

    但现在的问题是这个格式 可能并不是你的HTML代码在页面上体现的形式,因为你定义的CSS可能输出到Excel它并不支持。那么怎么办呢?

    我突然想到Excel要是有导出HTML功能岂不美栽?打开Excel。点击 文件。出现在菜单中 出现了 另存为网页。在接下来出现的对话框中 选择 工作表,而不要选择 整体工作薄,因为如果选择整个工作薄,这样导出后它会将CSS存为单独文件。我们稍后使用使用起来不便。

    选择保存后,会生成一个单一的HTML文件,并且CSS样式都有,这里的CSS样式很重要,它在Excel中会得到支持。

    然后我们可以读取这个HTML代码,需要注意的是,需要先把<html</html>这二个标记去掉。否则输出不了Excel。同时最好去掉这些代码中的JS代码。

    然后你可以将你的数据读取放入到DataTable中,然后循环<tr>放入,即可!

    下面给出一个示例代码。


    private string data()
            {
                System.Text.StringBuilder sb = new System.Text.StringBuilder();

                #region 样式
                sb.Append("<head>");
                sb.Append("<meta http-equiv=Content-Type content="text/html; charset=gb2312"> ");
                sb.Append("<style id="主要银行理财产品调研0901-0907第一期_31508_Styles">");
                sb.Append("<!--table");
                sb.Append("    {mso-displayed-decimal-separator:"\.";");
                sb.Append("    mso-displayed-thousand-separator:"\,";}");
                sb.Append(".font531508");
                sb.Append("    {color:windowtext;");
                sb.Append("    font-size:9.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;}");
                sb.Append(".font631508");
                sb.Append("    {color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;}");
                sb.Append(".font731508");
                sb.Append("    {color:windowtext;");
                sb.Append("    font-size:11.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;}");
                sb.Append(".font831508");
                sb.Append("    {color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;}");
                sb.Append(".font931508");
                sb.Append("    {color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:"Times New Roman", serif;");
                sb.Append("    mso-font-charset:0;}");
                sb.Append(".font1031508");
                sb.Append("    {color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:"\000B ", sans-serif;");
                sb.Append("    mso-font-charset:0;}");
                sb.Append(".font1131508");
                sb.Append("    {color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:\02CE\0325, sans-serif;");
                sb.Append("    mso-font-charset:0;}");
                sb.Append(".font1231508");
                sb.Append("    {color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:\02CE\0325, sans-serif;");
                sb.Append("    mso-font-charset:0;}");
                sb.Append(".font1331508");
                sb.Append("    {color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:"Times New Roman", serif;");
                sb.Append("    mso-font-charset:0;}");
                sb.Append(".xl2431508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append(".xl2531508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:normal;}");
                sb.Append(".xl2631508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:general;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append(".xl2731508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:"Times New Roman", serif;");
                sb.Append("    mso-font-charset:0;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:normal;}");
                sb.Append(".xl2831508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:"Times New Roman", serif;");
                sb.Append("    mso-font-charset:0;");
                sb.Append("    mso-number-format:Percent;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:top;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:normal;}");
                sb.Append(".xl2931508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:Percent;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append(".xl3031508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append(".xl3131508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:"\000B ", sans-serif;");
                sb.Append("    mso-font-charset:0;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:normal;}");
                sb.Append(".xl3231508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:\02CE\0325, sans-serif;");
                sb.Append("    mso-font-charset:0;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:normal;}");
                sb.Append(".xl3331508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:"Times New Roman", serif;");
                sb.Append("    mso-font-charset:0;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append(".xl3431508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:"Times New Roman", serif;");
                sb.Append("    mso-font-charset:0;");
                sb.Append("    mso-number-format:Percent;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append(".xl3531508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:top;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:normal;}");
                sb.Append(".xl3631508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:"Times New Roman", serif;");
                sb.Append("    mso-font-charset:0;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:top;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:normal;}");
                sb.Append(".xl3731508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:"Times New Roman", serif;");
                sb.Append("    mso-font-charset:0;");
                sb.Append("    mso-number-format:"m\0022月\0022d\0022日\0022";");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append(".xl3831508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:Percent;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:normal;}");
                sb.Append(".xl3931508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:\02CE\0325, sans-serif;");
                sb.Append("    mso-font-charset:0;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:general;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:normal;}");
                sb.Append(".xl4031508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:general;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:normal;}");
                sb.Append(".xl4131508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:right;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append(".xl4231508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:0%;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append(".xl4331508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:\02CE\0325, sans-serif;");
                sb.Append("    mso-font-charset:0;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:general;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:normal;}");
                sb.Append(".xl4431508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:general;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append(".xl4531508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:general;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:normal;}");
                sb.Append(".xl4631508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:right;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append(".xl4731508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:"Times New Roman", serif;");
                sb.Append("    mso-font-charset:0;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:general;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append(".xl4831508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border-top:.5pt solid windowtext;");
                sb.Append("    border-right:.5pt solid windowtext;");
                sb.Append("    border-bottom:none;");
                sb.Append("    border-left:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append(".xl4931508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border-top:.5pt solid windowtext;");
                sb.Append("    border-right:.5pt solid windowtext;");
                sb.Append("    border-bottom:none;");
                sb.Append("    border-left:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:normal;}");
                sb.Append(".xl5031508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:general;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border-top:.5pt solid windowtext;");
                sb.Append("    border-right:.5pt solid windowtext;");
                sb.Append("    border-bottom:none;");
                sb.Append("    border-left:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append(".xl5131508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:general;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border-top:.5pt solid windowtext;");
                sb.Append("    border-right:.5pt solid windowtext;");
                sb.Append("    border-bottom:none;");
                sb.Append("    border-left:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:normal;}");
                sb.Append(".xl5231508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:"Times New Roman", serif;");
                sb.Append("    mso-font-charset:0;");
                sb.Append("    mso-number-format:Percent;");
                sb.Append("    text-align:left;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border-top:.5pt solid windowtext;");
                sb.Append("    border-right:.5pt solid windowtext;");
                sb.Append("    border-bottom:none;");
                sb.Append("    border-left:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append(".xl5331508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:"Times New Roman", serif;");
                sb.Append("    mso-font-charset:0;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:general;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border-top:.5pt solid windowtext;");
                sb.Append("    border-right:.5pt solid windowtext;");
                sb.Append("    border-bottom:none;");
                sb.Append("    border-left:.5pt solid windowtext;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append(".xl5431508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:general;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border-top:.5pt solid windowtext;");
                sb.Append("    border-right:.5pt solid windowtext;");
                sb.Append("    border-bottom:.5pt solid windowtext;");
                sb.Append("    border-left:none;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:normal;}");
                sb.Append(".xl5531508");
                sb.Append("    {padding-top:1px;");
                sb.Append("    padding-right:1px;");
                sb.Append("    padding-left:1px;");
                sb.Append("    mso-ignore:padding;");
                sb.Append("    color:windowtext;");
                sb.Append("    font-size:10.0pt;");
                sb.Append("    font-weight:700;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:"Times New Roman", serif;");
                sb.Append("    mso-font-charset:0;");
                sb.Append("    mso-number-format:General;");
                sb.Append("    text-align:center;");
                sb.Append("    vertical-align:middle;");
                sb.Append("    border-top:none;");
                sb.Append("    border-right:none;");
                sb.Append("    border-bottom:.5pt solid windowtext;");
                sb.Append("    border-left:none;");
                sb.Append("    background:white;");
                sb.Append("    mso-pattern:auto none;");
                sb.Append("    white-space:nowrap;}");
                sb.Append("ruby");
                sb.Append("    {ruby-align:left;}");
                sb.Append("rt");
                sb.Append("    {color:windowtext;");
                sb.Append("    font-size:9.0pt;");
                sb.Append("    font-weight:400;");
                sb.Append("    font-style:normal;");
                sb.Append("    text-decoration:none;");
                sb.Append("    font-family:宋体;");
                sb.Append("    mso-generic-font-family:auto;");
                sb.Append("    mso-font-charset:134;");
                sb.Append("    mso-char-type:none;}");
                sb.Append("-->");
                sb.Append("</style>");
                sb.Append("</head>");
                sb.Append("<body>");
                sb.Append("<!--[if !excel]>  <![endif]-->");
                sb.Append("<!--下列信息由 Microsoft Office Excel 的“发布为网页”向导生成。-->");
                sb.Append("<!--如果同一条目从 Excel 中重新发布,则所有位于 DIV 标记之间的信息均将被替换。-->");
                sb.Append("<!----------------------------->");
                sb.Append("<!--“从 EXCEL 发布网页”向导开始-->");
                sb.Append("<!----------------------------->");
                sb.Append("<div id="主要银行理财产品调研0901-0907第一期_31508" align=center x:publishsource="Excel">");
                sb.Append("<table x:str border=0 cellpadding=0 cellspacing=0 width=1815 class=xl2631508");
                sb.Append(" style='border-collapse:collapse;table-layout:fixed;1362pt'>");
                sb.Append(" <col class=xl2631508 width=86 style='mso-width-source:userset;mso-width-alt:");
                sb.Append(" 2752;65pt'>");
                sb.Append(" <col class=xl2631508 width=82 style='mso-width-source:userset;mso-width-alt:");
                sb.Append(" 2624;62pt'>");
                sb.Append(" <col class=xl3931508 width=497 style='mso-width-source:userset;mso-width-alt:");
                sb.Append(" 15904;373pt'>");
                sb.Append(" <col class=xl3931508 width=54 style='mso-width-source:userset;mso-width-alt:");
                sb.Append(" 1728;41pt'>");
                sb.Append(" <col class=xl3931508 width=184 style='mso-width-source:userset;mso-width-alt:");
                sb.Append(" 5888;138pt'>");
                sb.Append(" <col class=xl2631508 width=111 style='mso-width-source:userset;mso-width-alt:");
                sb.Append(" 3552;83pt'>");
                sb.Append(" <col class=xl2631508 width=234 style='mso-width-source:userset;mso-width-alt:");
                sb.Append(" 7488;176pt'>");
                sb.Append(" <col class=xl4031508 width=63 span=2 style='mso-width-source:userset;");
                sb.Append(" mso-width-alt:2016;47pt'>");
                sb.Append(" <col class=xl4131508 width=63 style='mso-width-source:userset;mso-width-alt:");
                sb.Append(" 2016;47pt'>");
                sb.Append(" <col class=xl4031508 width=141 style='mso-width-source:userset;mso-width-alt:");
                sb.Append(" 4512;106pt'>");
                sb.Append(" <col class=xl2631508 width=63 style='mso-width-source:userset;mso-width-alt:");
                sb.Append(" 2016;47pt'>");
                sb.Append(" <col class=xl4031508 width=63 style='mso-width-source:userset;mso-width-alt:");
                sb.Append(" 2016;47pt'>");
                sb.Append(" <col class=xl2631508 width=111 style='mso-width-source:userset;mso-width-alt:");
                sb.Append(" 3552;83pt'>");
                sb.Append(" <tr height=17 style='height:12.75pt'>");
                sb.Append("  <td colspan=3 height=17 class=xl5531508 width=665 style='height:12.75pt;");
                sb.Append("  500pt'>9<font class="font831508">月</font><font class="font1331508">15</font><font");
                sb.Append("  class="font831508">日</font><font class="font1331508">-9</font><font");
                sb.Append("  class="font831508">月</font><font class="font1331508">22</font><font");
                sb.Append("  class="font831508">日销售产品</font></td>");
                sb.Append("  <td class=xl3931508 width=54 style='41pt'> </td>");
                sb.Append("  <td class=xl3931508 width=184 style='138pt'> </td>");
                sb.Append("  <td class=xl2631508 width=111 style='83pt'> </td>");
                sb.Append("  <td class=xl2631508 width=234 style='176pt'> </td>");
                sb.Append("  <td class=xl4031508 width=63 style='47pt'> </td>");
                sb.Append("  <td class=xl4031508 width=63 style='47pt'> </td>");
                sb.Append("  <td class=xl4131508 width=63 style='47pt'> </td>");
                sb.Append("  <td class=xl4031508 width=141 style='106pt'> </td>");
                sb.Append("  <td class=xl2631508 width=63 style='47pt'> </td>");
                sb.Append("  <td class=xl4031508 width=63 style='47pt'> </td>");
                sb.Append("  <td class=xl2631508 width=111 style='83pt'> </td>");
                sb.Append(" </tr>");
                #endregion 
                

                //表头
                sb.Append(" <tr height=16 style='height:12.0pt'>");
                sb.Append("  <td height=16 class=xl2431508 style='height:12.0pt;border-top:none'>发行机构</td>");
                sb.Append("  <td class=xl2431508 style='border-top:none;border-left:none'>产品类型</td>");
                sb.Append("  <td class=xl2431508 style='border-top:none;border-left:none'>产品名称</td>");
                sb.Append("  <td class=xl2431508 style='border-left:none'>币种</td>");
                sb.Append("  <td class=xl2431508 style='border-left:none'>产品风险收益类型</td>");
                sb.Append("  <td class=xl2431508 style='border-left:none'>产品投资标的</td>");
                sb.Append("  <td class=xl2431508 style='border-left:none'>募集期</td>");
                sb.Append("  <td class=xl2531508 width=63 style='border-left:none;47pt'>期限</td>");
                sb.Append("  <td class=xl2531508 width=63 style='border-left:none;47pt'>期限单位</td>");
                sb.Append("  <td class=xl2431508 style='border-left:none'>预期年化<span style='display:none'>收益率</span></td>");
                sb.Append("  <td class=xl2531508 width=141 style='border-left:none;106pt'>起点金额</td>");
                sb.Append("  <td class=xl2431508 style='border-left:none'>额度</td>");
                sb.Append("  <td class=xl2531508 width=63 style='border-left:none;47pt'>额度单位</td>");
                sb.Append("  <td class=xl2531508 width=63 style='border-left:none;47pt'>管理费用</td>");
                sb.Append("  <td class=xl2431508 style='border-left:none'>备注</td>");
                sb.Append(" </tr>");


                //数据

                string constr = System.Configuration.ConfigurationSettings.AppSettings.Get("ConnectionString");

                string sql = "select   fxjg as 发行机构,InvestType as 产品类型,cpmc as 产品名称,bz as 币种,cptype as 产品风险收益类型,InvestType as 产品投资标的,rgqsr as 认购起始日期, rgjsr as 认购结束日,wtglqsearch as 期限,'天' as 期限单位, Yqnsyl as 预期年化收益率,Rgqsje as 认购起始金额,Rgdzje as 认购递增金额 ,glfy as 管理费用,cpsm as 产品说明 from QsqBankProduct where rgqsr>='2008-09-15' and rgqsr<'2008-09-22' order by fxjg";
                SqlConnection con = new SqlConnection(constr);
                con.Open();
                SqlCommand cmd = new SqlCommand(sql,con);
                DataTable dt = new DataTable();
                SqlDataAdapter sda = new SqlDataAdapter(cmd);
                sda.Fill(dt);

                con.Close();
                for(int i = 0 ; i < dt.Rows.Count;i++)
                {
                    string cptype = dt.Rows[i]["产品风险收益类型"].ToString();
                    if(cptype == "1")
                        cptype = "保本固定收益型";
                    else if(cptype == "2")
                        cptype = "保本浮动收益型";
                    else if(cptype == "3")
                        cptype = "非保本浮动收益型";

                    string Yqnsyl=dt.Rows[i]["预期年化收益率"].ToString();
                    if(Yqnsyl.IndexOf(".")!=-1 && Yqnsyl.Substring(Yqnsyl.IndexOf(".")).Length > 4)
                        Yqnsyl = Yqnsyl.Substring(0,Yqnsyl.IndexOf(".")+3);

                    string memo = dt.Rows[i]["产品说明"].ToString();
                    memo=Components.Formater.FormatDeleteHtml(memo);

                    string glfy = Components.Formater.FormatDeleteHtml(dt.Rows[i]["管理费用"].ToString());
                        

                    sb.Append(" <tr height=25 style='height:25pt'>");
                    sb.Append("  <td height=17 class=xl2431508 style='height:12.75pt;border-top:none'>"+dt.Rows[i]["发行机构"]+"</td>");
                    sb.Append("  <td class=xl2431508 style='border-top:none;border-left:none'>"+dt.Rows[i]["产品类型"]+"</td>");
                    sb.Append("  <td class=xl2431508 style='border-top:none;border-left:none'>"+dt.Rows[i]["产品名称"]+"</td>");
                    sb.Append("  <td class=xl2531508 width=54 style='border-top:none;border-left:none;");
                    sb.Append("  41pt'>"+dt.Rows[i]["币种"]+"</td>");
                    sb.Append("  <td class=xl2431508 style='border-top:none;border-left:none'>"+cptype+"</td>");
                    sb.Append("  <td class=xl2531508 width=111 style='border-top:none;border-left:none;");
                    sb.Append("  83pt'>"+dt.Rows[i]["产品投资标的"]+"</td>");
                    sb.Append("  <td class=xl2731508 width=234 style='border-top:none;border-left:none;");
                    sb.Append("  176pt'>"+dt.Rows[i]["认购起始日期"]+"<font");
                    sb.Append("  class="font631508">到</font>"+dt.Rows[i]["认购结束日"]+"</td>");
                    sb.Append("  <td class=xl2731508 width=63 style='border-top:none;border-left:none;");
                    sb.Append("  47pt' x:num>"+dt.Rows[i]["期限"]+"</td>");
                    sb.Append("  <td class=xl2531508 width=63 style='border-top:none;border-left:none;");
                    sb.Append("  47pt'>"+dt.Rows[i]["期限单位"]+"</td>");
                    sb.Append("  <td class=xl2831508 width=63 style='border-top:none;border-left:none;");
                    sb.Append("  47pt'>"+Yqnsyl+"</td>");
                    sb.Append("  <td class=xl2531508 width=141 style='border-top:none;border-left:none;");
                    sb.Append("  106pt'>起点 "+dt.Rows[i]["认购起始金额"]+",每"+dt.Rows[i]["认购递增金额"]+"递增</td>");
                    sb.Append("  <td class=xl2431508 style='border-top:none;border-left:none' x:num> </td>");
                    sb.Append("  <td class=xl2531508 width=63 style='border-top:none;border-left:none;");
                    sb.Append("  47pt'> </td>");                
                    sb.Append("  <td class=xl2531508 width=63 style='border-left:none;47pt'>"+glfy+"</td>");
                    sb.Append("  <td class=xl2431508 style='border-top:none;border-left:none'> "+memo+"</td>");
                    sb.Append(" </tr>");
                }
                sb.Append(" <![if supportMisalignedColumns]>");
                sb.Append(" <tr height=0 style='display:none'>");
                sb.Append("  <td width=86 style='65pt'></td>");
                sb.Append("  <td width=82 style='62pt'></td>");
                sb.Append("  <td width=497 style='373pt'></td>");
                sb.Append("  <td width=54 style='41pt'></td>");
                sb.Append("  <td width=184 style='138pt'></td>");
                sb.Append("  <td width=111 style='83pt'></td>");
                sb.Append("  <td width=234 style='176pt'></td>");
                sb.Append("  <td width=63 style='47pt'></td>");
                sb.Append("  <td width=63 style='47pt'></td>");
                sb.Append("  <td width=63 style='47pt'></td>");
                sb.Append("  <td width=141 style='106pt'></td>");
                sb.Append("  <td width=63 style='47pt'></td>");
                sb.Append("  <td width=63 style='47pt'></td>");
                sb.Append("  <td width=111 style='83pt'></td>");
                sb.Append(" </tr>");
                sb.Append(" <![endif]>");
                sb.Append("</table>");
                sb.Append("</div>");
                sb.Append("<!----------------------------->");
                sb.Append("<!--“从 EXCEL 发布网页”向导结束-->");
                sb.Append("<!----------------------------->");
                sb.Append("</body>");

                return sb.ToString();
            }

    注意上面很多代码,并不是我一行行写的,这是很不明智的方法,HTML代码是从Excel是导出的,而一行行变成sb.Append形式是通过工具生成的。这工具不难,自己都可以写一个。注意上面//数据区域,是读取数据库,然后一行行循环。最后调用如下方式输出即可。

    复制代码
    private void Page_Load(object sender, System.EventArgs e)
            {
                Response.Clear();
                Response.Buffer = true;
                Response.Charset = "GB2312";
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");//设置输出流为简体中文 
                Response.AppendHeader("Content-Disposition", "attachment;filename=cnqsq.xls");

                Response.ContentType = "application/ms-excel";

                EnableViewState = false;
                Response.Write(data()); 
                Response.End();

            }
    复制代码

    示例代码就不给出了,因为主要是方法。提供方法思路,相信实现起来并不难。

     

  • 相关阅读:
    【Java异常】idea 报错:无效的目标发行版:17 的解决办法
    springboot实现MyBatis分页
    已解决No converter for XXX with preset ContentType ‘application/vnd.msexcel;charset=utf8‘
    mybatis if标签判断boolean等于true或者flase
    Java实现Excel导入和导出
    文件上传报错:Current request is not a multipart request的解决办法
    二维数组内的元素获取交集
    .Net Core MemoryCache 缓存
    SQL Server调用OLE对象
    SQL Server中使用正则表达式
  • 原文地址:https://www.cnblogs.com/51net/p/3830191.html
Copyright © 2020-2023  润新知