快速DataSet导出6万条数据到EXCEL!

今天在学做DataSet导出到EXCEL时候,参考了网上流行的几个方法,都是超过1万条就无法显示页面的

我就想,要是直接生成TXT文件,再改过后缀名就可以了!

TXT的内容:

 

<table>

 <tr>

       <td>数据</td> 

       <td style=/"vnd.ms-excel.numberformat:@/">123456789123456789</td>

</tr>

</table>

 

这样再改成xls格式就好了!那身份证这样的字段怎么办 用这样就好了

 

<td style=/"vnd.ms-excel.numberformat:@/">123456789123456789</td>

 

于是动手:

 

string sql ="select * from ODS  where rownum < 60001";  //我的数据库是oracle,所以是rownum,SQL的话改成 top 60000就OK了
ddss = C.GetDataSet(sql, "table1");

 

            StringBuilder sb = new StringBuilder();

            string head = "<table cellspacing=/"0/" cellpadding=/"5/" rules=/"all/" border=/"1/"><tr>"
                + "<td>数据1</td>"
                + "<td>数据2</td>"
                + "<td>数据3</td>"
                + "<td>数据4</td>"
                + "<td>数据5</td>"
                + "<td>数据6</td>"
                + "</tr>";
            sb.Append(head);  //写头一行的标题


            for (int i = 0; i < ddss.Tables["table1"].Rows.Count; i++)   //开始写数据
            {
                string str = "<tr>"
                    + "<td style=/"vnd.ms-excel.numberformat:@/">" + ddss.Tables["table1"].Rows[i].ItemArray[0] + "</td>"
                    + "<td style=/"vnd.ms-excel.numberformat:@/">" + ddss.Tables["table1"].Rows[i].ItemArray[1] + "</td>"
                    + "<td style=/"vnd.ms-excel.numberformat:@/">" + ddss.Tables["table1"].Rows[i].ItemArray[2] + "</td>"
                    + "<td style=/"vnd.ms-excel.numberformat:@/">" + ddss.Tables["table1"].Rows[i].ItemArray[3] + "</td>"
                    + "<td style=/"vnd.ms-excel.numberformat:@/">" + ddss.Tables["table1"].Rows[i].ItemArray[4] + "</td>"
                    + "<td style=/"vnd.ms-excel.numberformat:@/">" + ddss.Tables["table1"].Rows[i].ItemArray[5] + "</td>"
                    + "</tr>";

                sb.Append(str);
            }


            string END = "</table>";   //写结尾


            sb.Append(END);

 

            Response.Charset = "GB2312";
            Response.AddHeader("content-type", "application/x-msdownload");
            Response.AppendHeader("Content-Disposition", "attachment;filename=1.xls");   //弹出保存为XLS文件


            Page.Response.Write(sb.ToString());


            Response.End();

 

 

看看结果!是不是几秒就好了呢,结果还很好看呢

 

如果觉得这不是个标准的EXCEL文件,OK,打开后另存为 Excel文件,这样另存为的就是标准的Excel文件了!

 

明天再试下分sheet看看行不行!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值