Class: SwarmSDK::V3::Tools::DocumentConverters::XlsxConverter
- Defined in:
- lib/swarm_sdk/v3/tools/document_converters/xlsx_converter.rb
Overview
XLSX/Spreadsheet converter
Converts spreadsheet files (XLSX, XLS, ODS) to CSV format. Requires the roo gem (and roo-xls for legacy XLS support).
Class Method Summary collapse
-
.extensions ⇒ Array<String>
Supported extensions.
-
.format_name ⇒ String
Format name.
-
.gem_name ⇒ String
Gem name.
Instance Method Summary collapse
-
#convert(file_path) ⇒ String
Convert spreadsheet to CSV text format.
Methods inherited from Base
Class Method Details
.extensions ⇒ Array<String>
Returns supported extensions.
24 25 26 |
# File 'lib/swarm_sdk/v3/tools/document_converters/xlsx_converter.rb', line 24 def extensions [".xlsx", ".xls", ".ods"] end |
.format_name ⇒ String
Returns format name.
19 20 21 |
# File 'lib/swarm_sdk/v3/tools/document_converters/xlsx_converter.rb', line 19 def format_name "XLSX/Spreadsheet" end |
.gem_name ⇒ String
Returns gem name.
14 15 16 |
# File 'lib/swarm_sdk/v3/tools/document_converters/xlsx_converter.rb', line 14 def gem_name "roo" end |
Instance Method Details
#convert(file_path) ⇒ String
Convert spreadsheet to CSV text format
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/swarm_sdk/v3/tools/document_converters/xlsx_converter.rb', line 33 def convert(file_path) return unless self.class.available? return if file_path.end_with?(".xls") && !xls_available? require "roo" require "csv" spreadsheet = Roo::Spreadsheet.open(file_path) build_csv_output(spreadsheet, file_path) rescue StandardError => e error("Spreadsheet conversion failed: #{e.}") end |