2014-10-21 1 views
0

Я использую сл чтобы разобрать первенствовать лист, как этотРоо получать номер вместо текста

worksheet.parse(
     :partNo => "PM_PartNo", 
     :salePartNo => "PM_SalesPartNo", 
     :appSearchInclude => "PM_AppSearchInclude", 
     :desc => "PM_WebApp_Description", 
     :brand => "PM_Brand", 
     :appSegment => "PM_ApplicationSegment", 
     :group => "PM_ProductGroup", 
     :design => "PM_ProductDesign", 
     :material => "PM_Material", 
     :line => "PM_ProdLine", 
     :baseSeries => "PM_BaseSeries", 
     :colorCode => "PM_ColorCode", 
     :series => "PM_Series", 
     :weightType => "PM_oz_gram", 
     :appRim => "PM_ApplicationRim", 
     :coating => "PM_Coating", 
     :pcs => "PM_PCSconversion", 
     :clean => true 
    ) do |hash| 

Однако Роо продолжает давать мне номер 200275577.0 для столбца PM_PartNo. В листе excel этот столбец содержит все ячейки, отформатированные как текст. То, что должно возвращаться в синтаксическом анализе, это «200275577» как текст, а не номер 200275577.0 в виде числа. Есть ли способ обеспечить его соответствие форматированию Excel?

+0

Вы вводите его как «200275577» или «200275577.0»? –

+0

Введено как 200275577 в формате excel с форматом ячейки в виде текста. – steventnorris

+0

Не идеально, но могли бы вы просто сделать 'my_var.to_s'? –

ответ

0

Это open issue с roo. Существует общее обходное решение, внесенное пользователем в проблему, или вы можете просто преобразовать значение самостоятельно с помощью .to_i.to_s.

+0

Я предполагаю, что будут проблемы с ведущими 0s. 0000505 будет 505.0, которое .to_i.to_s будет конвертировать в 505. Не проиндексировано, но стоит осторожно. – steventnorris

+0

https://github.com/Empact/roo/issues/86 Для справки. Проблема, похоже, в том, что в Greed также есть требование к Roo. – steventnorris

+0

Очень верно, вам может понадобиться использовать 'rjust' для сохранения ведущих нулей – infused