我一直在使用Microsoft.Office.Interop.Excel
从Winforms应用程序导出数据。我喜欢它,因为我可以导出和显示数据而无需写入文件系统。不幸的是,Excel实例不会像我想要的那样清理。
我想创建一个CSV文件。我可以这样做,但我的要求是立即在用户计算机上处理CSV文件的任何程序中显示数据,但不保存文件,除非用户决定这样做。
这是可能的,如果是这样的话?
如果没有,我会很感激有关如何处理这种情况的任何建议。
答案 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。