工作中需要将DataGrid中的数据导出到Excel,从网上查了很多资料,大部分都是将数据以流的形式导出,我需要的是直接导出到Excel文件中, 百度加Google了两三天终于弄出来了,写下来跟大家分享下。我的DataGrid绑定的数据源是XML文件,并采用数据模板的形式显示数据,没有用到 数据库。
DataGrid的xaml代码如下:
view plain
1. 3. VerticalAlignment=\"Top\" Width=\"Auto\" MinWidth=\"500\" > 4. 5. 6. 7. 8. 10. UpdateSourceTrigger=PropertyChanged}\"/> 11. 12. 13. 14. 15. 16. 17. 19. UpdateSourceTrigger=PropertyChanged}\"/> 20. 21. 22. 23. 24. 25. 26. 28. UpdateSourceTrigger=PropertyChanged}\"/> 29. 30. 31. 32. 33.
导出Excel时,因为我DataGrid用的模板,获取cell的Content时,获取的总是错误的,Content显示内容 为:System.Windows.Controls.ContentPresenter,试了好多
办法都解决不了,就直接用XElement来实现了, 谁有更好的解决办法,欢迎交流,我的导出代码如下:
view plain
1. private void WriteData(object[] header, DataGrid dataTable)
2. {
3. object[,] objData = new object[dataTable.Items.Count, header.Length];
4. List