Excel操作類-CSpreadSheet and BasicExcel

 

CSpreadSheet - A Class to Read and Write to Excel and Text Delimited Spreadsheet,使用ODBC操作Excel

http://www.codeproject.com/KB/database/cspreadsheet.aspx

 BasicExcel - A Class to Read and Write to Microsoft Excel,直接從Excel文件格式出發,操作Excel

http://www.codeproject.com/KB/office/BasicExcel.aspx#

轉載:

由於工作需要,需要在excel和mysql數據庫之間互相交換數據,於是在網上搜索了一下用vc如何操作excel,基本上有三種實現方式,一種是利用odbc,一種是使用微軟的automation技術,一種就是直接分析excel的格式並進行解析。

   在codeproject上找到兩個開源的操作類,一個是basicexcel,地址爲:http://www.codeproject.com/KB/office/BasicExcel.aspx

  一個是CSpreadSheet,地址爲:http://www.codeproject.com/KB/database/cspreadsheet.aspx

 

兩個我都使用了一下,最後決定使用basicexcel,下面說說我的感受:

1 CSpreadSheet,採用odbc實現,速度慢,bug多,但是對中文支持比較好,但是有個讓我最不能忍受的確定,就是它把所有的數據寫入excel中時都當作字符串來實現,這樣導致在excel的每個field中的內容前都自動添加一個單引號,原因是excel爲了防止自動格式轉換,添加一個單引號使得每個數據項都強制轉換成字符串類型。最後怎麼都去不掉,只好放棄使用。

 

2 basicexcel,採用com方式實現,訪問速度快,api接口也比較簡單,可以隨意設置excel中field內容的類型,但是對於中文的支持不好,要自己處理漢字編碼,支持ansi字符和unicode字符。剛開始的時候寫入的漢字都是亂碼,後來自己做了字符轉換,吧gb2312編碼的漢字轉變成unicode編碼,就可以正常顯示了

 

這兩個類在官方網頁上都有api使用說明和示例工程,大家一起交流...

由於剛剛使用,感受暫時就這麼多了,感覺微軟的東西還真是麻煩...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章