67 lines
5.5 KiB
HTML
67 lines
5.5 KiB
HTML
|
<div id="sina_keyword_ad_area2" class="articalContent ">
|
|||
|
<div>public void CreateExcel(DataSet ds, string typeid, stringFileName)</div>
|
|||
|
<div> {</div>
|
|||
|
<div> HttpResponse resp;</div>
|
|||
|
<div> resp =Page.Response;</div>
|
|||
|
<div> resp.ContentEncoding =System.Text.Encoding.GetEncoding("GB2312");</div>
|
|||
|
<div> resp.AppendHeader("Content-Disposition", "attachment;filename=" +FileName);</div>
|
|||
|
<div> stringcolHeaders = "", ls_item = "";</div>
|
|||
|
<div> int i =0;</div>
|
|||
|
<div><br />
|
|||
|
</div>
|
|||
|
<div> //定义表对象和行对像,同时用DataSet对其值进行初始化 </div>
|
|||
|
<div> DataTabledt = ds.Tables[0];</div>
|
|||
|
<div> DataRow[]myRow = dt.Select("");</div>
|
|||
|
<div> //typeid=="1"时导出为EXCEL格式文档;typeid=="2"时导出为XML格式文档 </div>
|
|||
|
<div> if (typeid== "1")</div>
|
|||
|
<div> {</div>
|
|||
|
<div> //取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符 </div>
|
|||
|
<div> for (i = 0; i< dt.Columns.Count; i++)</div>
|
|||
|
<div> {</div>
|
|||
|
<div> if (i == dt.Columns.Count - 1)</div>
|
|||
|
<div> {</div>
|
|||
|
<div> colHeaders+= dt.Columns[i].Caption.ToString() + "\n";</div>
|
|||
|
<div> }</div>
|
|||
|
<div> else</div>
|
|||
|
<div> {</div>
|
|||
|
<div> colHeaders+= dt.Columns[i].Caption.ToString() + "\t";</div>
|
|||
|
<div> }</div>
|
|||
|
<div> }</div>
|
|||
|
<div> //向HTTP输出流中写入取得的数据信息 </div>
|
|||
|
<div> resp.Write(colHeaders);</div>
|
|||
|
<div> //逐行处理数据 </div>
|
|||
|
<div> foreach (DataRow row inmyRow)</div>
|
|||
|
<div> {</div>
|
|||
|
<div> //在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n </div>
|
|||
|
<div> for (i = 0; i < dt.Columns.Count;i++)</div>
|
|||
|
<div> {</div>
|
|||
|
<div><br />
|
|||
|
</div>
|
|||
|
<div> if (i ==dt.Columns.Count - 1)</div>
|
|||
|
<div> {</div>
|
|||
|
<div> ls_item += row[i].ToString()+ "\n";</div>
|
|||
|
<div> }</div>
|
|||
|
<div> else</div>
|
|||
|
<div> {</div>
|
|||
|
<div> ls_item += row[i].ToString()+ "\t";</div>
|
|||
|
<div> }</div>
|
|||
|
<div> }</div>
|
|||
|
<div> //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据 </div>
|
|||
|
<div> resp.Write(ls_item);</div>
|
|||
|
<div> ls_item = "";</div>
|
|||
|
<div> }</div>
|
|||
|
<div> }</div>
|
|||
|
<div> else</div>
|
|||
|
<div> {</div>
|
|||
|
<div> if (typeid == "2")</div>
|
|||
|
<div> {</div>
|
|||
|
<div> //从DataSet中直接导出XML数据并且写到HTTP输出流中 </div>
|
|||
|
<div> resp.Write(ds.GetXml());</div>
|
|||
|
<div> }</div>
|
|||
|
<div> }</div>
|
|||
|
<div> //写缓冲区中的数据到HTTP头文档中 </div>
|
|||
|
<div> resp.End();</div>
|
|||
|
<div> } </div>
|
|||
|
|
|||
|
</div>
|
|||
|
<p> </p>
|