是否有可能讓Apache POI創建並打開一個新的Excel工作簿文件,但不一定會將保存爲作爲文件?我試圖將其作爲短期文件公開,就好像它是從互聯網上下載的,以便可以保存,如果需要的話,但另有刪除。創建一個新的POI工作簿但不保存
回答
否Excel打開文件。即使您打開的「從互聯網下載」的文件也會臨時保存到您指定的下載目錄或用戶的臨時目錄中。
您可以將工作簿保存在用戶的臨時目錄中(請參閱Files.createTemporaryFile()
),並且只有在用戶決定永久保留工作簿時纔可以移動或複製工作簿。如果他們不想保留它,您可以立即使用File.delete()
或當您的應用程序以File.deleteOnExit()
退出時立即將其刪除。
請注意,在Windows上,File.delete()
和File.deleteOnExit()
只會在您嘗試刪除它們之前確保您的應用程序關閉這些文件及其關聯的流時才能一致地工作。 try-with-resources statement對此非常有幫助。
謝謝!至於'File.deleteOnExit()',程序如何知道'write()'後Excel文件是否已經關閉? – JStef
它不會。操作系統會知道該文件已打開並且會阻止刪除的發生。只要確保您在給定文件上創建的任何流都已正確關閉。如果您使用我鏈接的try-with-resources語句,那麼可以讓JRE爲您做這件事。 –
- 1. 創建一個未保存的空白工作簿
- 2. Java POI使用SS模型創建新的工作簿?
- 3. 將工作表複製到另一個工作簿,但工作表也保存在新工作簿中
- 4. 無法保存新創建的VBA工作簿
- 5. 將新創建的工作簿保存到特定文件夾
- 6. 創建一個新的工作簿並粘貼數據3個不同的工作簿一個接一個
- 7. 內存不足,無法創建一個Excel工作簿
- 8. 在一個工作簿中創建另一個工作簿中的子例程
- 9. VBA複製到一個新的工作簿並保存
- 10. 在現有的Excel工作簿中創建新的工作簿使用Apache POI for Java
- 11. 將工作表添加到另一個工作簿創建的工作簿
- 12. 創建新的工作簿並通過
- 13. POI工作簿多線程
- 14. 僅在另一個工作簿中保存一些工作表
- 15. 將每個工作表保存爲新工作簿
- 16. Apache POI - 如何爲xlsx創建工作簿
- 17. C++ Excel保存工作簿
- 18. 將工作表值保存到另一個工作簿
- 19. 問題與保存活動工作表,以新的工作簿
- 20. 創建但不保存NSManagedObjects
- 21. 無法創建工作簿
- 22. 我有一個表格,以創建新用戶,但不工作
- 23. 找到,如果工作簿個別用戶存在,如果工作簿不存在,創建模板
- 24. apache poi如何刷新整個工作簿
- 25. apache poi將一種樣式應用於不同的工作簿
- 26. 用C#創建一個Sprite工作表,不保存
- 27. 工作簿的Apache POI默認樣式
- 28. 獲取InputStream forom Apache的POI工作簿
- 29. 的Apache POI錯誤打開工作簿
- 30. 高效地將工作表保存在新工作簿中
爲什麼不僅僅存儲POI工作簿所具有的數據,並且如果用戶選擇保存,那麼只需生成實際工作簿? –
@CeilingGecko我想從以前的Excel數據創建一個報告軟件。如果用戶在創建數據時意外地使用了錯誤的參數,那麼它就像點擊兩次按鈕一樣簡單,而不必手動刪除它。 – JStef