Sha256: fea619c697b1b9d90a773b49533265c8936ae56b634c37c704e478acc90345d9
Contents?: true
Size: 1.43 KB
Versions: 3
Compression:
Stored size: 1.43 KB
Contents
# -*- coding: utf-8 -*- # # helper.rb # # Convert to US_ASCII encoding if ascii characters only. def convert_to_ascii_if_ascii(str) return nil if str.nil? ruby_18 do enc = str.encoding begin str = str.encode('ASCII') rescue str.force_encoding(enc) end end || ruby_19 do if !str.nil? && str.ascii_only? str = [str].pack('a*') end end str end private :convert_to_ascii_if_ascii def utf8_to_16be(utf8) utf16be = NKF.nkf('-w16B0 -m0 -W', utf8) utf16be.force_encoding('UTF-16BE') end private :utf8_to_16be def utf8_to_16le(utf8) utf16le = NKF.nkf('-w16L0 -m0 -W', utf8) utf16le.force_encoding('UTF-16LE') end private :utf8_to_16le def ascii_to_16be(ascii) ascii.unpack("C*").pack("n*") ascii.force_encoding('UTF-16BE') end private :ascii_to_16be def store_simple(record, length, *args) header = [record, length].pack('vv') data = args.collect { |arg| [arg].pack('v') }.join('') append(header, data) end private :store_simple # Convert base26 column string to a number. # All your Base are belong to us. def chars_to_col(chars) expn = 0 col = 0 while (!chars.empty?) char = chars.pop # LS char first col += (char.ord - "A".ord + 1) * (26 ** expn) expn += 1 end col end private :chars_to_col
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
writeexcel-0.5.0 | lib/writeexcel/helper.rb |
writeexcel-0.4.3 | lib/writeexcel/helper.rb |
writeexcel-0.4.2 | lib/writeexcel/helper.rb |