ruby电子表格gem可以包装文本?

有没有办法使用ruby电子表格gem产生一个电子表格与其文本被包装的单元格? (如果没有,还有其他方法可以做到吗?)

谢谢, – 保罗

ps为了回应两个很好的build议,不幸的是我不能工作,我应该注意:1)我不能把我的ruby应用程序转换成JRuby在这个时候。 2)我正在开发Linux,而不是Windows。

请尝试Ruby电子表格gem:

fmt = Spreadsheet::Format.new :text_wrap => true sheet.row(y).set_format(x, fmt) 

在这里形成:

http://rubyforge.org/forum/forum.php?set=custom&forum_id=2920&style=nested&max_rows=50&submit=Change+View

我同意Phrogz的意思,如果可以的话,你应该使用Win32OLE而不是电子表格。 这是你如何使用Win32OLE包装一个单元格的文本:

worksheet.Range("A1").WrapText = true其中worksheet引用特定的工作表。

这是一个更完整的例子:

 xl = WIN32OLE.new('Excel.Application') # => opens Excel wb = xl.Workbooks.Add(); # => adds a workbook worksheet = wb.Worksheets(3) # => 3rd sheet (Excel starts at 1) worksheet.Range("A1").value = "Hello, how do you do?" worksheet.Range("A1").WrapText = true # => wraps the text 

我希望这有帮助。 我已经使用Win32OLE来处理Excel,并喜欢它。

PS除非我错过了它,它不会出现,如果你可以使用电子表格gem包装文字。


编辑:由于问题已经添加了一个Linux的要求,我把这添加为Linux的答案。

以下是我相信可以使用POI Ruby绑定的一些代码:

 h = Poi4r::HSSFWorkbook.new s = h.createSheet("Sheet1") r = s.createRow(0) c = r.createCell(0) t = h.createCellStyle() t.setWrapText(true) 

我没有testing过这个。 它已经改编自POI电子表格的POI Ruby页面和快速指南 。

如果JRuby是一个选项,那么你可以使用优秀的POI库,它可以做任何Excel可以在其文件格式的东西。 它确实可以设置细胞包装选项。

下面的博客文章,我已经collections了多年,展示了如何使Java API更像Ruby。 它以POI为例。 http://mysterycoder.blogspot.com/2007/04/api-unickifying-with-jruby.html

看起来jruby-poi项目已经把这些想法变成了gem。 https://github.com/kameeoze/jruby-poi

编辑:不需要JRuby。 有MRI的绑定: http : //poi.apache.org/poi-ruby.html

而不是使用电子表格gem – 它从头开始生成一个有限的能力的电子表格 – 我build议使用Win32OLE脚本Excel修改现有的文件。 这只适用于Windows系统,并且安装了可以由Ruby打开的Excel副本,因此通常不适用于服务器环境。