Spreadsheet::XLSX - Perl extension for reading MS Excel 2007 files
| Use Case | Command | Description |
|---|---|---|
| π Open an .xlsx file | my $excel = Spreadsheet::XLSX->new('file.xlsx'); | βΊοΈ Load an Excel 2007 workbook |
| π€ Specify encoding conversion | Text::Iconv->new("utf-8","windows-1251") | π Pass a converter object to handle character encoding |
| π Iterate over all sheets | foreach my $sheet (@{$excel->{Worksheet}}) | π Loop through each worksheet |
| π Iterate rows and cells | foreach my $row ($min..$max) { foreach my $col ($min..$max) } | π’ Access cell values by row/column coordinates |
| π Read cell value | $cell->{Val} | π₯ Retrieve the cell's content |
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});
}
}
}
}
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.
Dmitry Ovsyanko, <do AT eludia.ru>, http://eludia.ru/wiki/
Patches by:
Thanks to TrackVia Inc. (http://www.trackvia.com) for paying for Rob Polocz working time.
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.
Generated by phpman v4.10.0-7-g98e9fd5 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-09-16 10:20 @216.73.216.87
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)