Office2007xlsx格式分析

2021-05-24 08:25:59 字數 1088 閱讀 2448

xlsx是以zip格式壓縮的,把xlsx重新命名為zip,然後再解壓。就可以得到裡面的資料檔案了。

_rels

docprops

xl[content_types].xml

我們只重點檢視xl目錄下面的檔案

sharedstrings.xml 這個檔案儲存著所有的字串,比如」學生」,」編號」,」1號」等。

styles.xml 這個檔案是樣式,裡面記載著單元格的格式,比如字型,日期格式等。

worksheets/sheet1.xml

worksheets/sheet2.xml

worksheets/sheet3.xml

對應三張工作表,具體名稱依據你的xlsx裡的工作表名稱。

因為時間緊迫,所以我只分析sharedstrings.xml和sheet1.xml.其它檔案的情況參見參考資料。

以這份xlsx為例,隨便找2個空單元格合併下

副檔名改為zip,再解壓縮得到sheet1.xml去掉頭尾一些節點,行列資料在sheetdata節點中

從中看出

row代表的是一行

c是該行下屬的列

c節點的r屬性代表的是單元格編號

v代表的是該單元格的值或字串索引

f代表的是公式

c節點的t=」s」代表,這個單元格是字串,而其子節點代表的是這個字串在sharedstrings.xml中的索引

c節點的s=」1″代表,這個單元格是日期型的。這裡的日期型是日期和1900-1-1相差的天數來儲存的

c節點的s=」數字」代表,這個單元格的樣式編號,去styles.xml查詢。這裡我直接忽略了,感興趣的同學閱讀參考資料。

對於合併單元格的問題,我原先想分析出單元格合併情況。實際上,在單元格合併後,被合併的2個單元格仍然是作為乙個存在的,另乙個是不會寫入資料的。所以忽略合併單元格的情況。感興趣的同學可以分析sheet1.xml中的mergecells節點。

現在來看sharedstrings.xml,去掉一些資料

可以看出這個檔案存放的是字串

每個字串在節點下的節點中,但我們不能直接提取節點。因為這個xlsx比較簡單,但實際中碰到的sharedstring.xml卻還要複雜,貼上部分:

C 操作Word文件(Office 2007)

首先引入類庫,microsoft.office.interop.word,然後進行程式設計。如下 using system using system.collections.generic using system.componentmodel using system.data using sys...

office 2007安裝 簡單試用體驗

從朋友們得到office 2007企業版,裝了下,感受了它相對豪華的介面及增加的n多功能,要說明的,這只是一小部分功能或是介面的預覽罷了,不涉及關於具體功能應用和技巧性的東西,高階操作功能有待於各位的發現啦。1 新的office安裝後有九個元件,當然其中有我們相當熟知的word excel powe...

使用組策略部署Office 2007

office 2007 企業版包括以下產品 microsoft office access 資料庫。microsoft office excel microsoft office groove microsoft office onenote microsoft office outlook mic...