django Excel文件預覽


      目前文檔的在線預覽方式大致有以下幾種:

  • 服務器先轉換為PDF,再轉換為SWF,最后通過網頁加載Flash預覽
  • Office文檔直接轉換為SWF,通過網頁加載Flash預覽
  • office轉Html、pdf轉圖片在線預覽文件Html文件
  • 第三方ActiveX瀏覽器控件
  • 微軟的Office Web Apps
  • 第三方成熟的服務
  • 在瀏覽器中直接打開

    基於服務器、用戶環境的考慮以及實現的復雜程度,這里選擇使用office轉html的方式來實現。Excel文件的讀取使用python 開源庫 xlrd 0.9.3。

   基本思路:

  1. 打開指定文檔
  2. 讀取指定sheet,默認為第一個
  3. 處理合並單元格
  4. 讀取所有單元格,並生成html的table內容標簽
  5. 利用css和js調整table元素格式

 

  使用xlrd讀取Excel文檔遇到的問題:

  • 用merged_cells讀取合並單元格時,列表為空,無法取得相應的數據

       解決辦法:在打開文檔時設置:formatting_info 參數,之后成功獲取相關格式信息。

      代碼: wb = open_workbook(filepath,formatting_info=True)

  

 最后在網頁中插入生成的table代碼,並配合css和js顯示Excel文檔內容。顯示效果與 idocv 一樣,效率很高,如果數據量大可以加上分頁處理功能,加上專業的css和js一定會使Excel文檔的展現接近完美。

 

代碼地址:https://github.com/XYFHY2004/Excel2Html.git

 

參考文檔

http://www.officeweb365.com/officetoview.html

http://www.cppblog.com/snowzjy/articles/32056.html

http://www.cnblogs.com/flashlm/archive/2010/11/22/document-preview-online.html

http://www.cnblogs.com/flashlm/archive/2010/11/27/1889426.html

http://www.idocv.com

 

 

Technorati Tags: django, excel, python


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM