用XML操作Excle檔案。

2021-04-27 00:35:45 字數 1195 閱讀 3863

用xml操作excle檔案

在專案中有時候需要將資料輸出到excle,辦法很多,比如說用ado,但是這些都不能滿足效能上的要求,如果你將10w條資料用ado方式寫入資料庫,速度是很慢的。而且還不能對生成的excle設定格式。

乙個偶然的機會,我發現將excle檔儲存為xml(**),然後用記事本開啟就會發現,整個檔案就是乙個xml資料.對這個檔案進行操作還能得到複雜的效果,比如:合併單元格,字型,顏色,甚至是為單元格設定公式。

比如這樣的:

一些值得注意的地方:

一 .檔案頭部有以下資訊:

其中,一下幾個部分可以修改,其意思很簡單,懂點e文就知道了.

二 .接下來你將看到中描述,我的理解是,每 乙個樣式都是代表了乙個單元格的形態,注意是乙個,能不能在乙個單元格上組合多個此處定義的樣式,還沒測試.在中:

ss:id        定義該樣式的名稱,要使用乙個樣式的時候需要用到.

這個東西就說明當前單元格的四個邊的樣式(有沒有線條?線條多粗..)

font        定義單元格上文字的樣式

interior: 指的是底色,ss:color用於描述顏色,ss:pattern 描述如何繪製

三 .資料部分

在這部分,你會看見類似這樣的內容:

說明:   

這裡說明有乙個叫做sheet1的表單

對於這個表單的總體資料描述:

ss:expandedcolumncount="9"   資料**有9列  

ss:expandedrowcount="6"      資料**有6行

後面的就是設定一些預設屬性,如果你在後面具體的**上沒有指定樣式,就會用到這些.

依次定義ss:expandedcolumncount個列的寬和高

接下來就是資料部分了,完整的一行大概是這樣的:

部分描述的這一行的預設屬性,它也可以指定樣式,比如,這樣的話,在這一行上面,任何沒有特殊指定樣式的**都是這個預設樣式.

部分描述具體乙個**的樣式,必須使用前面你已經定義好的.

四 .資料尾部

就是這個樣子:

這些一般用處不大,沒有仔細研究.

其他:在程式中可以用tinyxml來操作xml,另外還有編碼問題要考慮,檔案儲存為*.xml,你發現即使安裝的excle,這個問預設的開啟方式可能也不是excle,有個技巧,將你檔案的頭部插入2 個位元組,內容為[0xff,0xfe].

用jquery操作xml檔案

一 xml檔案 內容讀取 1 讀取xml檔案 get xmlfile.xml function xml 2 讀取xml內容 如果讀取的xml是來於xml檔案,這結合上面的那點,處理如下 get xmlfile.xml function xml 2 讀取xml內容 如果讀取的xml是來於xml檔案,這...

Excle檔案解析

return 批量調整使用者財富 public string batchregulatemoneybag 得到最後一行的 行號 int lastrow asheet.getlastrownum if lastrow 5000 存放錯誤資訊的集合 listerrorlist new arraylist...

操作XML檔案

1 操作xml檔案的類庫位於system.xml命名空間下 xmlnode 是乙個抽象類,代表乙個節點。其中document,element,attribute,text 等都是特定的節點型別。注意其實現的幾個介面。xmlnodelist是乙個比較有用的集合類 xmldocument 代表乙個dom...