Я согласен с 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 и мне это нравится.
P.S. Если я не пропустил его где-то, он не выглядит так, как будто вы можете обернуть текст с помощью гема электронной таблицы.
РЕДАКТИРОВАТЬ: Поскольку вопрос добавил требование Linux, я добавляю это как ответ Linux.
Вот код, который, я считаю, будет работать с POI Ruby Bindings:
h = Poi4r::HSSFWorkbook.new
s = h.createSheet("Sheet1")
r = s.createRow(0)
c = r.createCell(0)
t = h.createCellStyle()
t.setWrapText(true)
Я не проверял это. Он был адаптирован со страницы POI Ruby и для таблицы POI .