手上有個excel檔案想轉成.xml
可是一另存成XML格式就顯示錯誤
(2002直接當掉, 2007說格式不對, 但就是不跟我說原因)
後來我把一個一個Sheet砍掉後才發現, 有個叫"篩選"的功能,
要是把它關掉的話, 就OK囉~
接下來是Sheet的建立
找到叫<Worksheet ss:Name=Sheet名稱> </Worksheet>
最前面的<Name>的內容我試著砍掉後, 表格的參照還是可以work
然後接著發現定義在裡面的<Row>輸出後最大值是根據在sheet輸出時的總列數, 此數量定義在
<Worksheet>裡面的<Table ss:ExpandedRowCount="列數最大值">
當自己在xml檔案中自己插入<Row>時的總數量要是超出<Table>定義的最大值時, 就會跑出
"載入時發生錯誤在下列區域(P): 工作表設定"
本來以為改了這個就可以解決問題了, 沒想到再我產生比較複雜的檔案時, 卻跑出這個錯誤訊息
"載入時發生錯誤在下列區域(P): 運算列表"
媽呀, 怎麼會這樣, 在我一行一行trace 好幾千行的XML檔案後, 最後在</Table>前面發現了這個!!!
<Row ss:Index="21">
<Cell ss:MergeAcross="21" ss:StyleID="s294"/>
</Row>
不知道為什麼產生了這個row出來, 上面定義了它的index, 所以囉~
另外在填入資料的時候 <Data ss:Type="Number">資料</Data>
要是型態是Number但資料填入卻有包含數字以外的字元 ex. A1289
也會出現以下錯誤喔~
"載入時發生錯誤在下列區域(P): 運算列表"
另外在不斷測試中發現控制表格分割的<tag>
<WorksheetOptions>
<SplitHorizontal>垂直分割的固定欄位數</SplitHorizontal>
<TopRowBottomPane>垂直分割的固定欄位數</TopRowBottomPane>
<SplitVertical>水平分割的固定欄位數</SplitVertical>
<LeftColumnRightPane>水平分割的固定欄位數</LeftColumnRightPane>
</WorksheetOptions>