Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to parse Metadata Part #372

Open
wagneramaral opened this issue Jun 2, 2020 · 7 comments
Open

Unable to parse Metadata Part #372

wagneramaral opened this issue Jun 2, 2020 · 7 comments

Comments

@wagneramaral
Copy link

When I try to parse a xlsm file containing an instance of metadata part I receive the following message:

*** WARNING: storage class not found for metadata.xml (http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata)
WARNING: RubyXL::Workbook is not aware how to process RubyXL::GenericStorageObject

Reference to metadata part (page 81).

The simplest example that produce the error is the following:

def foo
    workbook = RubyXL::Parser.parse_buffer(Allocation.first.file.download)
    respond_with workbook.stream.read
end

It's not possible to open the exported file in Excel.
I also tried the parse method using the file path, it results in the same warning message and the exported file is also not readable in Excel.

Am I doing something wrong, or is there any workaround I can apply to parse xlsm files with metadata part?
Unfortunately I can't provide the file as it contains sensitive data from a third party.

Anyway, thank you for this amazing gem.

@seki
Copy link

seki commented Mar 18, 2021

Monkey patched.

module RubyXL
  class SheetMetadata < GenericStorageObject
    CONTENT_TYPE = 'application/vnd.ms-excel.sheetMetadata'
    REL_TYPE     = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata'
  end

  class Workbook
    define_relationship(RubyXL::SheetMetadata)
  end
end

@weshatheleopard
Copy link
Owner

@seki Can you please attach a sample file with which you are experiencing this issue?

@seki
Copy link

seki commented Mar 19, 2021

Sorry, I can't show the sample file.

require 'rubyXL'

module RubyXL
  class SheetMetadata < GenericStorageObject
    CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml'
    REL_TYPE     = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata'
  end

  class Workbook
    define_relationship(RubyXL::SheetMetadata)
  end
end

def foo(src, dest)
  workbook = RubyXL::Parser.parse(src)
  workbook.write(dest)
end

foo(ARGV.shift, ARGV.shift)

@mewthu2
Copy link

mewthu2 commented Apr 18, 2022

Sorry, I can't show the sample file.

require 'rubyXL'

module RubyXL
  class SheetMetadata < GenericStorageObject
    CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml'
    REL_TYPE     = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata'
  end

  class Workbook
    define_relationship(RubyXL::SheetMetadata)
  end
end

def foo(src, dest)
  workbook = RubyXL::Parser.parse(src)
  workbook.write(dest)
end

foo(ARGV.shift, ARGV.shift)

Try to parse another xlsx file, i have the same problem today and this resolve the issue

@HLFH
Copy link

HLFH commented Oct 17, 2023

Here is my monkeypatch for - I suppose - a Google Sheets document that has been exported as an Excel file:

# Monkeypatch
module RubyXL
  class SheetMetadata < GenericStorageObject
    CONTENT_TYPE = 'application/vnd.ms-excel.sheetMetadata'
    REL_TYPE     = 'http://customschemas.google.com/relationships/workbookmetadata'
  end

  class Workbook
    define_relationship(RubyXL::SheetMetadata)
  end
end

@weshatheleopard
Copy link
Owner

Can somebody give me a sample file that exhibits this behavior already?

@khiav223577
Copy link

khiav223577 commented Oct 29, 2023

Can somebody give me a sample file that exhibits this behavior already?

Try this file: test.xlsx

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants