excel版本问题解决方案
生活随笔
收集整理的這篇文章主要介紹了
excel版本问题解决方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在實際的開發中遇到過的問題,簡單的描述一下。就是需要解析Excel
文件,讀取數據入庫,并且將文件也入庫(文件路徑)。解析完成后,文件入庫的數據莫名其妙的多了一個文件名0000000000000
的文件。搞得很蒙逼。經過報錯信息,打斷點,才找到問題原因,excel 版本,沒有兼容的問題。 兼容那一塊只使用了try-catch
處理。在打開Excel文件之后并沒有進行關閉流導致。相當于第一次,打開流,未關閉,第二次打開處理完數據文件,流關閉
Java InputStream.markSupported()獲取輸入流是否支持mark和reset操作
InputStream.markSupported只有返回true,則流將以某種方式記住在調用mark之后讀取的所有字節,這個時候調用reset()方法才行
在JAVA中提供了一種回退輸入流(PushbackInputStream、PushbackReader),可以把讀取進來的某些數據重新回退到輸入流的緩沖區之中。
根據文件的頭部信息去判斷,創建合適的類型
上面的解決方案是借鑒了WorkbookFactory.create()中的源碼來實現的。
在WorkbookFactory.create()函數中,肯定有做過對文件類型的判斷,一起來看一下源碼是如何判斷的:
總結
以上是生活随笔為你收集整理的excel版本问题解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于在Android音视频开发中,Goo
- 下一篇: Lucas定理推导过程(全网最全,哈哈哈