NAME
Spreadsheet::XLSX - Perl extension for reading MS Excel 2007 files.
SYNOPSIS
use
Text::Iconv;
my
$converter
= Text::Iconv->new(
"utf-8"
,
"windows-1251"
);
# Text::Iconv is not really required.
# This can be any object with the convert method. Or nothing.
use
Spreadsheet::XLSX;
my
$excel
= Spreadsheet::XLSX->new(
'test.xlsx'
,
$converter
);
foreach
my
$sheet
(@{
$excel
->{Worksheet}}) {
printf
(
"Sheet: %s\n"
,
$sheet
->{Name});
$sheet
->{MaxRow} ||=
$sheet
->{MinRow};
foreach
my
$row
(
$sheet
->{MinRow} ..
$sheet
->{MaxRow}) {
$sheet
->{MaxCol} ||=
$sheet
->{MinCol};
foreach
my
$col
(
$sheet
->{MinCol} ..
$sheet
->{MaxCol}) {
my
$cell
=
$sheet
->{Cells}[
$row
][
$col
];
if
(
$cell
) {
printf
(
"( %s , %s ) => %s\n"
,
$row
,
$col
,
$cell
->{Val});
}
}
}
}
DESCRIPTION
This module is a (quick and dirty) emulation of Spreadsheet::ParseExcel for Excel 2007 (.xlsx) file format. It supports styles and many of Excel's quirks, but not all. It populates the classes from Spreadsheet::ParseExcel for interoperability; including Workbook, Worksheet, and Cell.
SEE ALSO
- Spreadsheet::ParseXLSX
-
This module (Spradsheet::XLSX) has some serious issues with the way it uses regexs for parsing the XML. I would strongly encourage switching to Spreadsheet::ParseXLSX which takes a more reliable approach.
- Text::CSV_XS, Text::CSV_PP
- Spreadsheet::ParseExcel
- Spreadsheet::ReadSXC
- Spreadsheet::BasicRead
-
for xlscat likewise functionality (Excel only)
- Spreadsheet::ConvertAA
-
for an alternative set of
cell2cr()
/cr2cell()
pair - Spreadsheet::Perl
-
offers a Pure Perl implementation of a spreadsheet engine. Users that want this format to be supported in Spreadsheet::Read are hereby motivated to offer patches. It's not high on my todo-list.
- xls2csv
-
https://metacpan.org/release/KEN/xls2csv-1.07 offers an alternative for my
xlscat -c
, in the xls2csv tool, but this tool focusses on character encoding transparency, and requires some other modules. - Spreadsheet::Read
-
read the data from a spreadsheet (interface module)
AUTHOR
Dmitry Ovsyanko, <do@eludia.ru>, http://eludia.ru/wiki/
Patches by:
Steve Simms
Joerg Meltzer
Loreyna Yeung
Rob Polocz
Gregor Herrmann
H.Merijn Brand
endacoe
Pat Mariani
Sergey Pushkin
ACKNOWLEDGEMENTS
COPYRIGHT AND LICENSE
Copyright (C) 2008 by Dmitry Ovsyanko
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.