通过DataGrid导出xml文件流到Excel

#region DateGrid导出Excel文件
  private void ExportExcle()
  {   
   System.Xml.XmlDataDocument datadoc = new System.Xml.XmlDataDocument();
   datadoc.LoadXml("xml文件流");   
   //如果需要过滤节点,请在这里处理
   System.Xml.XmlNode node = datadoc.SelectSingleNode("/ICBCACSS/resultset");  
   if( node1 == null )
   {    return;
   }   

   System.Xml.XmlNodeReader reader = new System.Xml.XmlNodeReader(datadoc);
   System.Data.DataSet ds = new System.Data.DataSet();
   ds.ReadXml(reader);
   DataGrid1.DataSource = ds.Tables[0].DefaultView;
   DataGrid1.DataBind();
   Response.Clear();
   Response.Buffer = true;
   Response.Charset = "UTF-8";
   Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
   Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
   Response.ContentType = "application/ms-excel";
   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);
   this.DataGrid1.RenderControl(oHtmlTextWriter);
   Response.Write(oStringWriter.ToString());
   Response.End(); 
  }
  #endregion 

HTML里:

<asp:datagrid id="DataGrid1"  runat="server" AutoGenerateColumns="False">

<Columns>
     <asp:TemplateColumn HeaderText="数据日期">
      <ItemTemplate>
       <%#DataBinder.Eval(Container.DataItem,"此处为对应节点名")%>
      </ItemTemplate>
     </asp:TemplateColumn>

<asp:TemplateColumn HeaderText="与上同理">

 ......

 </asp:TemplateColumn>

</Columns>
</asp:datagrid>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值