我一直在使用Microsoft.Office.Interop.Excel
從我的Winforms應用程序導出數據。我喜歡它,因爲我可以在不寫入文件系統的情況下導出和顯示數據。不幸的是,Excel實例不像我想要的那樣清理。導出到CSV而不寫入文件系統
我想創建一個CSV文件。我可以這樣做,但是我的要求是在任何程序中處理用戶計算機上的CSV文件時立即顯示數據,但除非用戶決定保存文件,否則不要保存該文件。
這是可能的,如果是的話如何?
如果不是,我將不勝感激關於如何處理這種情況的任何建議。
我一直在使用Microsoft.Office.Interop.Excel
從我的Winforms應用程序導出數據。我喜歡它,因爲我可以在不寫入文件系統的情況下導出和顯示數據。不幸的是,Excel實例不像我想要的那樣清理。導出到CSV而不寫入文件系統
我想創建一個CSV文件。我可以這樣做,但是我的要求是在任何程序中處理用戶計算機上的CSV文件時立即顯示數據,但除非用戶決定保存文件,否則不要保存該文件。
這是可能的,如果是的話如何?
如果不是,我將不勝感激關於如何處理這種情況的任何建議。
我會做的是「串行化」我的課,如果我有任何或創建我的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);
}
我認爲「無論程序」是什麼問題。一個特定的程序會給你(或不)一個API,就像Excel一樣。
保存文件,你可以使用「System.Diagnostics.Process.Start(pathOfTheCsv)」,操作系統會做魔術(具有適當的權限)。但你不想保存文件...
你可以使用谷歌文檔?你可以使用可用的API。
這聽起來像你需要的是行和Excel中的單元格。它作爲一個CSV存在(在磁盤上或沒有)作爲中間步驟似乎無關緊要。只需通過互操作將值放入電子表格即可。 –
當用戶關閉應用程序時,Excel實例不會清理。我也不想確保在每個使用該應用程序的工作站上安裝Excel。 –