Ruby on rails Roo获取数字而不是文本
我正在使用roo来解析这样的excel工作表Ruby on rails Roo获取数字而不是文本,ruby-on-rails,ruby,excel,roo-gem,Ruby On Rails,Ruby,Excel,Roo Gem,我正在使用roo来解析这样的excel工作表 worksheet.parse( :partNo => "PM_PartNo", :salePartNo => "PM_SalesPartNo", :appSearchInclude => "PM_AppSearchInclude", :desc => "PM_WebApp_Description", :brand => "PM_Brand"
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|
然而,Roo一直给我一个编号200275577.0的PM_PartNo专栏。在excel工作表中,此列的所有单元格都设置为文本格式。解析中应该返回的是文本形式的“200275577”,而不是数字形式的200275577.0。有没有办法确保它符合excel格式?这是一个与roo相关的问题。问题中有一个由用户提供的通用解决方法,或者您可以自己用
将值转换为\u i。要转换为\u s
您是以200275577
或“200275577.0”
的形式输入它吗?在excel中以200275577的形式输入,单元格格式为文本。不理想,但是你能帮我做一下吗?@JustinWood这似乎很有效。是否没有办法在解析中或以某种更全局的方式表明这一点,这样我就不必对所用哈希的每个实例都进行分析?不幸的是,我没有将此gem用于任何用途。最好的选择可能是,如果这不是你认为应该的行为方式。我想领导0会有问题。0000505将是505.0,而.to_i.to_s将转换为505。未经测试,但值得注意。供参考。问题似乎也与Spreedsheet GEM有关,这也是Roo的一个要求。非常正确,您可能需要使用rjust
来保留前导零