导出到CSV而不写入文件系统

时间:2014-01-09 17:30:17

标签: c# .net csv

我一直在使用Microsoft.Office.Interop.Excel从Winforms应用程序导出数据。我喜欢它,因为我可以导出和显示数据而无需写入文件系统。不幸的是,Excel实例不会像我想要的那样清理。

我想创建一个CSV文件。我可以这样做,但我的要求是立即在用户计算机上处​​理CSV文件的任何程序中显示数据,但不保存文件,除非用户决定这样做。

这是可能的,如果是这样的话?

如果没有,我会很感激有关如何处理这种情况的任何建议。

2 个答案:

答案 0 :(得分:1)

我要做的是“序列化”我的班级,如果我有任何或创建我的CSV“手动”以避免使用Excel可能使用类似的东西:

http://www.codeproject.com/Articles/566656/CSV-Serializer-for-NET

我将它保存到MemoryStream中,当用户决定保存到此保存时,我会将MermoryStream移动到类似的文件中:

using (FileStream file = new FileStream("somename.csv", FileMode.Create, FileAccess.Write)) {
    myMemoryStream.WriteTo(file);
}

答案 1 :(得分:0)

我认为“无论什么程序”都是问题所在。一个特定的程序会给你(或不是)一个API,就像Excel那样。

保存文件,您可以使用“System.Diagnostics.Process.Start(pathOfTheCsv)”,操作系统将执行魔术(具有适当的权限)。但是你不想保存文件......

你可以使用谷歌文档吗?您可以使用可用的API。