往Excel里导入数据的一种方法(dataset-->excel)

来源:互联网 发布:海外代充 知乎 编辑:程序博客网 时间:2024/04/28 05:44

//dsInput 为dataset

if (m_dsInput != null)
            {
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
              
                sb.Append("<table><tr>");

                //保存表头
                foreach (DataColumn c in m_dsInput.Tables[0].Columns)
                {
                    sb.AppendFormat("<td>{0}</td>", c.ColumnName);
                }
                sb.AppendLine("</tr>");
                //sb.Append("</tr>");

                //保存内容
                foreach (DataRow dr in m_dsInput.Tables[0].Rows)
                {
                    sb.Append("<tr>");
                    foreach (DataColumn c in m_dsInput.Tables[0].Columns)
                    {
                        sb.AppendFormat("<td>{0}</td>", dr[c.ColumnName]);
                    }
                    sb.AppendLine("</tr>");
                    //sb.Append("</tr>");
                }

                sb.Append("</table>");

                System.IO.StreamWriter sw = new System.IO.StreamWriter("c://gaoxiaodong.xls", false , System.Text.Encoding.UTF8);
                sw.WriteLine(sb.ToString());
            } 

 

////////////////////////////////////////////////////////////////////////////////////

这一方法的原理是将dataSet里的数据做成表格的形式,例如将标题(column)写到table的一行(tr),每个标题都是一

列(td),下面的数据也是一样处理,相当于做成html格式,当然比如说背景色,边框,都可以设置.把这些数据都存放到

stringbuilder中,最后用StreamWriter 以流的形式写入到excel中.可奇怪的是以上的代码会丢失一些最后数据,不知道

是什么原因,但原理就是这样了.

原创粉丝点击