在线等。马上结贴,直接把网页上的datagrid 的值以 txt 文本格式保存到本地路径 怎么写?请看 excel 是这样的:
在线等。马上结贴,直接把网页上的datagrid 的值以 txt 文本格式保存到本地路径 怎么写?请看 excel 是这样的: 问题点数:50、回复次数:9Top
1 楼silverseven2(抓日本女人的头发往下面送)回复于 2005-06-03 13:06:28 得分 0
uTop
2 楼silverseven2(抓日本女人的头发往下面送)回复于 2005-06-03 14:28:47 得分 0
uTop
3 楼silverseven2(抓日本女人的头发往下面送)回复于 2005-06-03 14:40:13 得分 0
uTop
4 楼zdliang(zdliang)回复于 2005-06-03 14:50:17 得分 50
改了一下原来写excel的程序,测试成功,但是写的text文档的头和尾会有<textarea name>和</textarea>
还有,我写的数据是直接从DataGrid的数据源里面取来的,如果把DataGrid里面的内容写到txt里面,有很多的html代码,我还没有研究如何弄,还有,如果你的DataGrid有模板列的话,也比较麻烦。建议还是直接从DataTable或者DataView里面写的好
Response.Clear();
Response.Buffer= true;
Response.Charset="GB2312";
Response.AppendHeader("Content-Disposition","attachment;filename=FileName.txt");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");//设置输出流为简体中文
Response.ContentType = "application/ms-text";//设置输出文件类型为text文件。
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
yourDataGrid.AllowPaging=false;
Bind();//你的数据绑定函数
yourDataGrid.DataBind();
DataView myDataView=(DataView)StudentDataGrid.DataSource;//我绑定的时候用的是dataview,如果你用的是datatable请自行更改类型转换
System.Text.StringBuilder myString=new System.Text.StringBuilder();
foreach(DataRow dgRow in myDataView.Table.Rows)
{
for(int i=0;i<dgRow.ItemArray.Length;i++)
{
if(dgRow[i]!=null)
myString.Append(dgRow[i].ToString()+",");
else
myString.Append("-,");
}
myString.Append("\r\n");//读完一行加个回车
}
TextBox myTextBox=new TextBox();//动态创建一个textbox控件
myTextBox.TextMode=System.Web.UI.WebControls.TextBoxMode.MultiLine;
myTextBox.Text=myString.ToString();
myTextBox.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();Top
5 楼silverseven2(抓日本女人的头发往下面送)回复于 2005-06-03 15:59:48 得分 0
zdliang(zdliang) ( ) 信
哥哥 很厉害阿。我打出来是这样:
<textarea name>
cmpy exch_date curc_code old_exch_rate new_exch_rate
SICE 02/06/2005 CNY 6.000000 5.0000
SICE 03/06/2005 CNY 5.000000 5.0000
SICE 04/06/2005 CNY 5.000000 5.0000
</textarea>
把<textarea> 去掉 怎么弄? 好了就结贴了Top
6 楼zdliang(zdliang)回复于 2005-06-03 16:38:58 得分 0
我也在想这个问题中,出现这个的原因是把文本写到一个TextBox里了,所以会有这个出现Top
7 楼silverseven2(抓日本女人的头发往下面送)回复于 2005-06-03 16:43:59 得分 0
System.Text.RegularExpressions.Regex htmlRegex = new System.Text.RegularExpressions.Regex("<[^>]*>");
Console.WriteLine(htmlRegex.Replace("例:<strong id=\"abc\">你好</strong><p>你不好</p>",""));Top
8 楼zdliang(zdliang)回复于 2005-06-03 17:12:35 得分 0
搞定了,还是我自己对那个System.IO.StringWriter oStringWriter不太了解,代码没有上面那么复杂的
Response.Clear();
Response.Buffer= true;
Response.Charset="GB2312";
Response.AppendHeader("Content-Disposition","attachment;filename=FileName.txt");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");//设置输出流为简体中文
Response.ContentType = "application/ms-text";//设置输出文件类型为text文件。
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
//System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);去掉这里的
yourDataGrid.AllowPaging=false;
Bind();//你的数据绑定函数
yourDataGrid.DataBind();
DataView myDataView=(DataView)StudentDataGrid.DataSource;//我绑定的时候用的是dataview,如果你用的是datatable请自行更改类型转换
System.Text.StringBuilder myString=new System.Text.StringBuilder();
foreach(DataRow dgRow in myDataView.Table.Rows)
{
for(int i=0;i<dgRow.ItemArray.Length;i++)
{
if(dgRow[i]!=null)
myString.Append(dgRow[i].ToString()+",");
else
myString.Append("-,");
}
myString.Append("\r\n");//读完一行加个回车
}
//上面动态生成textbox去掉,直接用myString就可以了
Response.Write(myString.ToString());
Response.End();
Top
9 楼silverseven2(抓日本女人的头发往下面送)回复于 2005-06-03 17:22:38 得分 0
TextBox myTextBox=new TextBox();
myTextBox.TextMode=System.Web.UI.WebControls.TextBoxMode.MultiLine;
myTextBox.Text=myString.ToString();
myTextBox.RenderControl(oHtmlTextWriter);
System.Text.RegularExpressions.Regex htmlRegex = new System.Text.RegularExpressions.Regex("<[^>]*>");
Response.Write(htmlRegex.Replace(oStringWriter.ToString(),""));Top




