DataGrid导出到excel问题

症状

DataGrid导出到excel,如果不保存导出的Xls文件,会自动关闭当前页面。


代码

public void DGToExcel(DataGrid dataGrid)   
  { 
   HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls"); 
   HttpContext.Current.Response.Charset ="UTF-8";     
   HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default; 
   HttpContext.Current.Response.ContentType ="application/ms-excel";
   dataGrid.Page.EnableViewState =false;    
   System.IO.StringWriter  tw = new System.IO.StringWriter() ; 
   System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw); 
   dataGrid.RenderControl(hw); 
   HttpContext.Current.Response.Write(tw.ToString()); 
   HttpContext.Current.Response.End(); 
  } 

解决:

方法一:
HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls") 中去掉“attachment;”即可

方法二:
打开新的页面,执行输出流导出方法

其他:

框架页貌似不存在这样的情况
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要将WPF的DataGrid导出Excel,需要使用第三方库或插件来实现。可以使用EPPlus或NPOI等库,也可以使用Syncfusion或DevExpress等插件来完成。具体实现方式可以参考各个库或插件的官方文档或示例代码。 ### 回答2: WPF中的DataGridExcel之间的数据交互可以通过数据绑定和数据模型来实现。在WPF中,我们可以通过将DataGrid的数据源与一个数据模型绑定,使用数据模型将DataGrid中的数据导出Excel。 首先,我们需要创建一个继承自System.Windows.Documents.FlowDocument类的自定义类,用于实现将数据写入Excel。在自定义类中,我们需要创建一个方法,通过DataRowCollection对象遍历表格的行和列,将数据值按照Excel中表格的行列存储方式写入到Excel中。 接着,在我们需要将DataGrid数据导出Excel的事件中,我们需要创建一个Excel文档,并使用数据模型将DataGrid中的数据导出Excel中。在导出数据时,我们需要使用Range对象指定Excel表格中的单元格范围,并用数据模型中的数据填充单元格。 WPF中的DataGridExcel之间的数据转换可以通过使用数据模型和数据绑定来实现。在数据模型中,我们可以将DataGrid中的数据生成Excel表格,并将数据绑定到Excel中的单元格中。同时,我们可以使用Excel控件来处理Excel文档并导出数据。 总体来说,WPF的DataGrid导出Excel可以通过数据模型和数据绑定来实现,在导出数据时我们需要使用Range对象指定单元格范围,并使用数据模型中的数据填充单元格。这一过程需要仔细考虑数据的格式和内容,以确保正确的导出Excel文档。 ### 回答3: WPF的DataGrid是一种强大的控件,它可以加载数据并以可视化的形式展示在界面上,对于需要复杂数据交互及展示的应用场景来说,是非常实用的。不过,有时候我们需要将DataGrid中的数据导出Excel中,方便进行统计分析,或者需要向其他人提供数据,这时如何进行导出呢? 以下是一些实现方法: 1.将数据从DataGrid中提取出来,并将提取的数据存放在Excel文件中。我们可以读取DataGrid中的数据,将其转换为DataTable形式,然后使用专门的库如EPPlus,将DataTable的数据写入Excel文件中。 2.使用DataGrid控件绑定的ObservableCollection在Code Behind中创建Excel文件。我们同样可以通过DataGrid控件绑定的数据,创建相应的Excel文件,我们可以创建一个新的Excel工作表,将ObservableCollection中的每一行数据写入工作表中。 无论采用哪种方法,都需要使用到专业的库。一些可行的库如下: 1.EPPlus。EPPlus是一个开源的.NET类库,它使用Open XML SDK完成Excel文件操作。EPPlus具有Excel对象模型(Workbook,Worksheet,Range等),可以动态处理和生成Excel工作表。 2.Microsoft.Office.Interop.Excel。这个库是来自微软的一个组件,在使用时需要先引入相应的库。使用Microsoft.Office.Interop.Excel需要安装Microsoft Office Excel 2007或更高版本,它使用COM互操作性,而不是Open XML格式解析。 总体来说,将WPF的DataGrid导出Excel中并不难,只要我们掌握了相应的库和API,就可以轻松实现这个功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值