永发信息网

asp.net导出数据生成真正的excel文件

答案:2  悬赏:60  手机版
解决时间 2021-03-19 11:14
asp.net导出数据生成excel文件,如果修改了生成的excel文件它会生成其它几个文件,例如怎样防止啊
最佳答案
我一般都是用gridview导出数据,你看看代码吧 对你有没有帮助, ----------------------按钮事件-------------------protected void Button2_Click(object sender, EventArgs e)
{
Export("application/ms-excel", "sssss.xls");
} private void Export(string FileType, string FileName)
{
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
Response.ContentType = FileType;
this.EnableViewState = false;
StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
// turn off paging
GridView1.AllowPaging = false;
this.GridView1.DataBind(); GridView1.RenderControl(hw);
Response.Write(tw.ToString());
Response.End(); // turn the paging on again
GridView1.AllowPaging = true;
this.GridView1.DataBind(); } 下面这句不加的话回出错误 public override void VerifyRenderingInServerForm(Control control)
{ }页面:EnableEventValidation = "false"
全部回答
由dataset生成  public void createexcel(dataset ds,string typeid,string filename)  {  httpresponse resp;  resp = page.response;  resp.contentencoding = system.text.encoding.getencoding("gb2312");  resp.appendheader("content-disposition", "attachment;filename=" + filename);  string colheaders= "", ls_item="";  int i=0;  //定义表对象与行对像,同时用dataset对其值进行初始化  datatable dt=ds.tables[0];  datarow[] myrow=dt.select("");  // typeid=="1"时导出为excel格式文件;typeid=="2"时导出为xml格式文件  if(typeid=="1")  {  //取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符  for(i=0;i colheaders+=dt.columns[i].caption.tostring()+"\t";  colheaders +=dt.columns[i].caption.tostring() +"\n";  //向http输出流中写入取得的数据信息  resp.write(colheaders);  //逐行处理数据  foreach(datarow row in myrow)  {  //在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n  for(i=0;i ls_item +=row[i].tostring() + "\t";  ls_item += row[i].tostring() +"\n";  //当前行数据写入http输出流,并且置空ls_item以便下行数据  resp.write(ls_item);  ls_item="";  }  }  else  {  if(typeid=="2")  {  //从dataset中直接导出xml数据并且写到http输出流中  resp.write(ds.getxml());  }  }  //写缓冲区中的数据到http头文件中  resp.end();  } 
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
登陆游戏的时候出现的,不是中病毒了吧
男鸡女鼠婚姻状况不痛不痒.不离不弃.不穷不富
欧洲皇室乱交的电影谁知道叫什么
东屲沟地址在什么地方,想过去办事
身体力行的近义词
为什么孔子2500多年了才传了80代??这么慢?
我的世界电脑版g是干什么用的
沙巴什么化妆品值得买
姜氏香满楼小串烧烤地址在什么地方,想过去办
男方第一次去女方家里,女方的父母需要给男方
亚投行今日开张,为什么金立群会成为首任亚
请问云南人事考试中心电话号码是多少啊?
二龙超市在哪里啊,我有事要去这个地方
常州离桂林有多少公里
1999年1元纸币相比其它的小了两毫米。值钱吗
推荐资讯
七武海最新排名……包括新旧七武海,除了黑胡
PVC-U材料抗氧化性能怎么样?
借条大写错别字,小写数字正确,有问题么
微信怎么换不了手机号
如何开一点公益服务商
现在废纸多少钱一吨
我电信手机交话费了为什么宽带还是显示欠费
长安悦翔V3用遥控怎么控制开关车门玻璃
沙湾县动物卫生监督所在哪里啊,我有事要去这
佛教法相宗是怎么修行的
为什么苹果6手机助手下载完打不开
背包肩带上有个小袋子可以装什么?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?