2011-06-15 51 views
0

我正在開發Python應用程序。 但客戶需要一個將當前頁面導出爲ex​​cel的工具。 所以我不得不在每個頁面(視圖)中使用xlwt(python模塊)將表格轉換爲excel。是否所有的瀏覽器都支持excel響應?

但我有一個更好的解決方案。它將當前頁面的內容html發送給服務器,服務器將以excel類型響應此html表格。 像這樣:

response['Content-Type'] = 'application/vnd.ms-excel; charset=utf-8' 
Response.ContentType = "application/vnd.ms-excel" 

這個效果很好。但我很好奇每個瀏覽器是否支持這個excel迴應!?!?!

如果沒有這將是一個很大的問題,以我:(

還是你的瀏覽器支持它,如果安裝在客戶端計算機上僅MS Excel或OpenOffice?

任何其他的「全球性」的解決方案或想法?

+0

所以...你發送的HTML,但稱它爲Excel文件? – 2011-06-15 08:50:10

+2

看起來你有一個大問題! – 2011-06-15 08:52:45

+0

是的HTML表 – jargalan 2011-06-15 08:53:09

回答

1

正確地將其轉換爲實際的Excel文件肯定是最好的方法。

也就是說,如果

  • 你給的文件名.xls擴展
  • 沿着正確的MIME類型
  • Excel或註冊爲處理XLS文件的一些其他程序發送安裝在用戶的計算機

「假HTML作爲Excel」方法應該正常工作。我從來沒有嘗試過在OpenOffice中打開一個HTML文件作爲XML文件,但你應該嘗試一下,看看它如何處理它。

+0

是的,我給了xls文件擴展名,我敢肯定,mime發送正常。所以問題是,excel或相關的應用程序必須安裝在用戶的comp?嗯..我需要轉換它在服務器perhapse>。 jargalan 2011-06-15 08:58:36

+0

btw我使用OpenOffice在Ubuntu上工作,並在Chrome v12和FF v3.6上測試它。它正如我所料。但我認爲用戶會下載它作爲excel只有他們有應用程序主要處理它,不是嗎? – jargalan 2011-06-15 09:07:30

+1

@ Zomboid是的,但它可能是其他應用程序,可以處理*真正* Excel文件不能處理HTML文件掩蓋如此。我不會指望它。 – 2011-06-15 10:06:45

2

像這樣設置內容類型是通知客戶文檔具有特定的類型 - 從某種意義上說,您通過告訴它您正在向Excel電子表格發送它時向瀏覽器撒謊你實際上將它發送給一個HTML文檔,其效果就是瀏覽r會嘗試打開它,就好像它是一個Excel電子表格一樣,並且正如你發現的那樣,Excel知道如何導入HTML,它是可行的。

如果客戶端沒有Excel或配置爲打開Excel文檔的其他軟件,瀏覽器可能會提供保存文檔。無論如何,它不會神奇地將它顯示爲電子表格。我不確定你還會期望什麼?

相關問題