1. 解析xlsx
解析xlsx首先要弄清楚xlsx存儲邏輯了,我們可以先建一個xlsx文件。裏面寫點內容。保存後另存一個,後面把這個文件改成zip格式的,在解壓,就可以看到xlsx內部結構了。如下圖:
下面我們打開解壓好的文件夾看看裏面的內容
咋一看有點複雜。但是我們解析數據其實只要看幾個文件就可以了。
- xl/workbook.xml 包含我們表中的Sheet數量名字 跟對應的id
- xl/_rels/workbook.xml.rels 通過上面xml的id找到對應的主xml
- xl/worksheets/sheet{N}.xml 表中的具體數據 這裏面的具體內容只包含數字部分,文本內容根據索引到下面的xml中找
- xl/sharedStrings.xml 包含表中字符串的內容 跟上面的對應組成完整數據
我們只需要解析這些xml就可以了,其實就是把每個表中的數據合併一下就可以了。還是很簡單的。
下一節講一下,xlsx壓縮文件的格式分析,具體怎麼根據二進制流來拿到自己想要的數據。