Sha256: 005e3bd9e1503b0d7ff08ca64ad42244b67ebec20a6edec363952e23dfa09d69

Contents?: true

Size: 611 Bytes

Versions: 10

Compression:

Stored size: 611 Bytes

Contents

#!/usr/bin/env ruby

# Usage: ./unpack.rb foo.xlsx
# outputs to foo/

# requires xmllint to be in your path

require 'unix_utils'

src = File.expand_path ARGV[0]
dest = File.join(File.dirname(src), File.basename(src, '.xlsx').gsub(/\W/, '_'))

raise "#{dest} exists" if File.exist?(dest)
tmp_path = UnixUtils.unzip src
FileUtils.mv tmp_path, dest

Dir["#{dest}/**/*"].each do |infile|
  if File.file?(infile) and not File.extname(infile) == '.vml' and File.read(infile, 50).include?('<?xml')
    outfile = infile + '.tmp'
    `xmllint --format #{infile} > #{outfile}`
    FileUtils.mv outfile, infile
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
xlsx_writer-0.4.4 unpack.rb
xlsx_writer-0.4.3 unpack.rb
xlsx_writer-0.4.2 unpack.rb
xlsx_writer-0.4.1 unpack.rb
xlsx_writer-0.4.0 unpack.rb
xlsx_writer-0.3.2 unpack.rb
xlsx_writer-0.3.1 unpack.rb
xlsx_writer-0.3.0 unpack.rb
xlsx_writer-0.2.2 unpack.rb
xlsx_writer-0.2.1 unpack.rb