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

    技术2022-05-11  30

    //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中.可奇怪的是以上的代码会丢失一些最后数据,不知道

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


    最新回复(0)