自定义导出Excel表列数据(根据所选的列,选几列导出几列数据,不选则全部导出)

Posted 张闲生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义导出Excel表列数据(根据所选的列,选几列导出几列数据,不选则全部导出)相关的知识,希望对你有一定的参考价值。

 

 

 

将wpf datagrid导出为自定义Excel CSV文件

我有一个绑定到MVVM集合类的wpf数据网格。我有一些MVVM类的属性,它绑定到datagrid但不是每个都绑定。

我需要从datagrid导出Excel CSV文件中的数据。但MVVM类的某些属性未绑定到datagrid但需要在Excel文件中显示。所以我需要创建自定义列(datagrid中的列+一些额外的列)。

以下是我目前用于创建Excel CSV文件的代码:

importedDG.SelectAllCells(); 
importedDG.ClipboardCopyMode = DataGridClipboardCopyMode.IncludeHeader;
ApplicationCommands.Copy.Execute(null, importedDG);
importedDG.UnselectAllCells();
string path1 = "C:\test.csv"; 
string result1 = (string)Clipboard.GetData(DataFormats.CommaSeparatedValue); 
Clipboard.Clear(); 
System.IO.StreamWriter file1 = new System.IO.StreamWriter(path1);
file1.WriteLine(result1);file1.Close(); 

这将使用DG中的确切列创建文件,但不是我想要的额外列。我该如何添加它们?

答案

我猜你在网格控件上使用一种方法来生成CSV?你没有在你的问题中说明多少。

如果是这样,我会将此责任移至您的视图模型。您可以使用KBCsv等CSV库来执行编写数据的任务。

以上是关于自定义导出Excel表列数据(根据所选的列,选几列导出几列数据,不选则全部导出)的主要内容,如果未能解决你的问题,请参考以下文章

excel中,将一个工作表中几列数据自动更新到另一个工作表中对应的列中?

将wpf datagrid导出为自定义Excel CSV文件

poi导出excel时,导出路径为手动可选的

datatable导出excel---NPOI

2.自定义@Excel注解实现数据Excel形式导入导出

自定义Table固定列和表头