![](/img/trans.png)
[英]How create XLSX file from LibXML::XML::Document in Ruby?
[英]Reading .xlsx file from stream in ruby
我正在使用axlsx gem將內容寫入.xlsx文件。 我正在使用以下代碼將文件流式傳輸到瀏覽器:
send_data excel_package.to_stream.read, type: "application/xlsx", filename: filename
現在,我想為此編寫測試用例,並希望在我的rspec中讀取相同的文件。 我怎樣才能做到這一點 ? 我尋找了其他可以讀取excel文件的庫,但是所有這些庫都是從磁盤讀取的。
該軟件包是一個zip存檔。
您可以做的最簡單的事情是將包寫入磁盤並用RubyZip加載,但是,如果您希望所有工作都不需要磁盤I / O,則可以看看rubyzip的InputStream從StringIO加載, 網址為https://github.com/ rubyzip / rubyzip / blob / master / lib / zip / input_stream.rb
一旦您可以訪問zip存檔。 從那里,您可以使用Nokogiri之類的工具加載要指定的軟件包零件的條目,並根據需要進行斷言。
您將在這里找到零件的示例列表https://github.com/randym/axlsx/blob/master/test/tc_package.rb#L163
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.