From 0032c662b4adf332f8f2eed7405f0caa4c049a1c Mon Sep 17 00:00:00 2001 From: Gustavo Molinari Date: Tue, 27 Nov 2018 17:53:08 -0300 Subject: [PATCH] added integer support --- lib/roo/xls/excel.rb | 12 ++++++++++-- test/files/simple_spreadsheet_from_italo.xls | Bin 45056 -> 7680 bytes test/test_roo_excel.rb | 8 ++++---- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/roo/xls/excel.rb b/lib/roo/xls/excel.rb index ee5619c..1aa3067 100644 --- a/lib/roo/xls/excel.rb +++ b/lib/roo/xls/excel.rb @@ -87,6 +87,7 @@ def cell(row, col, sheet = default_sheet) end # returns the type of a cell: + # * :integer # * :float # * :string, # * :date @@ -205,6 +206,8 @@ def set_cell_values(sheet, row, col, i, v, value_type, formula, _tr, font) @cell[sheet][key] = case value_type + when :integer + v.to_i when :float v.to_f when :string @@ -336,8 +339,13 @@ def read_cell(row, idx) cell = read_cell_content(row, idx) case cell when Float, Integer - value_type = :float - value = cell.to_f + if cell.to_i == cell + value_type = :integer + value = cell.to_i + else + value_type = :float + value = cell.to_f + end when ::Spreadsheet::Link value_type = :link value = cell diff --git a/test/files/simple_spreadsheet_from_italo.xls b/test/files/simple_spreadsheet_from_italo.xls index 444c1417fe843d99595dde2bd8795a7cf9f2a484..fcf71381f288c16bd4b23724259b3d0d54fe1111 100644 GIT binary patch delta 1016 zcma)5Ur5tY6#nkd-_~zy|JQUoDniA1e)w>d*3x|i>qdq2K=?mhS1+rOyvR}JqI zrpfXZVcrVhcRU_9OFt!Y-iYVwCuK)vimpz1De>{xpPJW5|KRkukQNTa1W+yX5KxeT z5w;dQ6ACM)6Sf+59&_`-dpI!=SQb9k0YeE(%UYcP~PVn-JWJ=ZIbo;ZlocHtoGwD$Fu;(9ABi&U?DVF_#JZ|T?+nkA>!S#fEtTHnn!^k+v zkpJa8Lzc3YAz#D|hAhVCUjRQ{{sh3misU-fH`nLVkh@T;Tpauux;H1NNOe-b%Uvp$ zDD!XUNA~8~=#hrqdsZiEnbU3HE;8q)Nta7Vdx~t4xlpuQWKvJ`j(AV2(OywSUE_V? cD19IA(;s7bl&e0`qYLn`lSHI}Ua8Z60E1H5ssI20 delta 2052 zcmeH|Uu;uV9LIm>a@)0A|J-if)~-v5O9cOr?G~{DZn7amU~F)~DI-}@|By&rbY+{m z5n+i{UoK{MzXp=o2Oq#7X6n|I_y9PgfoS4LT;M_DGG0Wp2aUwc#lZFVyIt49Hs5^n z;qyD^e$V-R&+puGZaY{%I3o?IqJ1nfC*(V(Y2rHj#Nm1XXds>-wh)a(6S0+elGsKx z6WfWWh#kaEVi(au>?T@?HewI4m(YlP#D3ywf){%RBhts?@-LE)pLkVnnJwvvR3wHS zr=tzR4gw@t1u2Ri2vP(nwPKkSKNYN8uwtX7oB*6~1f&B3e|Bs~k2B1K1=vIr9D&2| z9CSfgcEM>Vq75{+HScTMjqf>~^(m`hn5`?6Ci(Lx+0TzfA=nBa1~P!b-8bKzT$5 z86prFc9#o*748XJ4_UZybNRP;$y4Jifj7a$^F^}6%PrpU^obxo>+O`iv=Dyo-RiF7 zjX*XAut<5$BU>**kT>-tY$(4%Zg%YPRWEf+5BVMw?kf23MF~Rix(6VHZT?D}EiGMC zuPUq-mp!-0MSc) zKnPH*Y%uUXxvbMr@PxSax*w zVEbtMsG&WyjFzpFvo)P#ZtnB`k?ZgEu*0p?)uR!;eYAg)_q%2Vy(W;I&$Bxw3v;Y{ zXvA6_O2Ra!Qq?yNZT$-UF8g>=O}Jh#v<=JjUa?o-oJtKRd30&7Ti&^g3yj{?E-apr z;yMl4)r6V|T&AA&e8h^IC5^`ll&JmhX(cgtF{gIRyf@D0^3G?d086pV$6_yw1^3y5 zg;`nmsC+(iD`jXK3;Z|Afy+~*W!KER$Mv}0N9R=FZp7ZQ60_-dnH1>Rr3&XPn&wJh zXzNh~O;m!v