newBook = Roo::Excelx.new('./test.xlsx')
給了我這個錯誤:
C:/Ruby193/lib/ruby/gems/1.9.1/gems/roo-1.13.2/lib/roo/excelx.rb:85:in `block in initialize': file ./test.xlsx does not exist (IOError)
爲什麼?如何用Ruby的roo
gem創建一個新的XLSX文件?
newBook = Roo::Excelx.new('./test.xlsx')
給了我這個錯誤:
C:/Ruby193/lib/ruby/gems/1.9.1/gems/roo-1.13.2/lib/roo/excelx.rb:85:in `block in initialize': file ./test.xlsx does not exist (IOError)
爲什麼?如何用Ruby的roo
gem創建一個新的XLSX文件?
Roo僅用於閱讀Excel文件。我會推薦axlsx寶石。
它可以在純Ruby按如下方式使用
require 'axslx'
package = Axlsx::Package.new
workbook = package.workbook
workbook.add_worksheet(name: 'Some Sheet Name') do |sheet|
sheet.add_row ["Header 1", "Header 2", "Header 3"]
sheet.add_row ["Data 1", "Data 2", "Data 3"]
end
package.serialize('./test.xlsx')
這將創建一個電子表格,看起來像
--------------------------------
| Header 1 | Header 2 | Header 3 |
--------------------------------
| Data 1 | Data 2 | Data 3 |
axlsx
提供幾乎一切你可以在Excel做的,包括造型和有條件的造型。希望這可以幫助你。
太棒了!在添加行時,是否有一種方法可以指定我希望數據在哪個單元格中?例如:我只希望數據進入「標題2」列。我會怎麼做? – Username
@Username是的,它會是'sheet.add_row [nil,「Data」]''add_row'將會創建一個新的+1行。傳入的數組將作爲行,所以'[nil,'Data']'將是一個空白單元格,然後是「數據」。 – engineersmnky
roo只允許讀取Excel文件。您可以使用roo-google編寫Google電子表格,或者您可以嘗試使用axlsx gem(這是我的最愛) – engineersmnky
@engineersmnky Hm,'axlsx'好像是Rails的。我錯了嗎? – Username
沒有axlsx可以用於純紅寶石。我一直使用它來運行出口和其他excel報告。我會發佈一個快速的答案來展示給你。 – engineersmnky