2014-10-02 11 views
0

我的網絡應用程序輸出的Excel預製97的電子表格的Rails生成的模板的混合物(這些在Excel製成,因此沒有表現出的問題)和。後者是我們的用戶下載時,他們要數據的Excel電子表格:電子表格寶石和XML/XLS-ERB模板:OLE2簽名無效

<?xml version="1.0"?> 
    <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" 
     xmlns:o="urn:schemas-microsoft-com:office:office" 
     xmlns:x="urn:schemas-microsoft-com:office:excel" 
     xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" 
     xmlns:html="http://www.w3.org/TR/REC-html40"> 
     <Worksheet ss:Name="Sheet1"> 
      etc 

從這些xls.erb模板組成下載張是沒有問題的。用Spreadsheet gem解析預製模板也不行。然而,重新上傳了Rails生成的牀單控制器動作,然後嘗試使用電子表格的寶石來分析他們的是一個問題:

Ole::Storage::FormatError in FoosController#update_foos 

    OLE2 signature is invalid 

其他人在過去,因爲他們試圖解析XLSX文件已經有這個問題與電子表格;該類型與寶石不兼容。我的問題似乎是,我需要生成一個Ruby模板的Excel 2004年的文件,但我目前的形式似乎輸出XML,僅僅有文件擴展名錯誤命名。

是否可以生成2004 Excel電子表格,或解析我已經生成的Excel文件,而不使用寶石?是否有更簡單的解決方案是什麼,我試圖做的,這僅僅是輸出基於我的Rails數據的Excel電子表格,可以重新上傳到系統,並通過電子表格解析?

同樣,我想避免的寶石,但如果有一個寶石的解決方案,無論是讀取XML-ERB模板或讀取和寫入2004年兼容的XLS文件,我所有的耳朵。

回答