---
name: "Data::TableReader::Decoder::Spreadsheet"
section: "3pm"
platform: "linux"
package: "libdata-tablereader-perl"
version: "0.021-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Data::TableReader::Decoder::Spreadsheet"
---

# Data::TableReader::Decoder::Spreadsheet(3pm)

Base class for implementing spreadsheet decoders

## NAME

Data::TableReader::Decoder::Spreadsheet - Base class for implementing spreadsheet decoders

## VERSION

version 0.021

## DESCRIPTION

This is a base class for any file format that exposes a spreadsheet API compatible with Spreadsheet::ParseExcel.

## ATTRIBUTES

See attributes from parent class: Data::TableReader::Decoder.

### workbook

This is an instance of Spreadsheet::ParseExcel, Spreadsheet::ParseXLSX, or Spreadsheet::XLSX (which all happen to have the same API).  Subclasses can lazy-build this from the `"file_handle"`.

### sheet

This is either a sheet name, a regex for matching a sheet name, or a parser's worksheet object.  It is also optional; if not set, all sheets will be iterated.

### xls\_formatter

An optional object that is passed to Excel parsers Spreadsheet::ParseXLSX and Spreadsheet::ParseExcel. It governs how raw data in cells is formatted into values depending on the type of the cell. The parsers create one of their own if none is provided, usually Spreadsheet::ParseExcel::FmtDefault.

Note that it does not work for Spreadsheet::XLSX, which hardcodes the formatter as Spreadsheet::XLSX::Fmt2007.

## AUTHOR

Michael Conrad \<mike@nrdvana.net\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2024 by Michael Conrad.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
