File Coverage

blib/lib/Data/XLSX/Parser/DocumentArchive.pm
Criterion Covered Total %
statement 9 24 37.5
branch 0 2 0.0
condition n/a
subroutine 3 9 33.3
pod 0 6 0.0
total 12 41 29.2


line stmt bran cond sub pod time code
1             package Data::XLSX::Parser::DocumentArchive;
2 6     6   37 use strict;
  6         9  
  6         209  
3 6     6   30 use warnings;
  6         11  
  6         145  
4              
5 6     6   5295 use Archive::Zip;
  6         579971  
  6         1876  
6              
7             sub new {
8 0     0 0   my ($class, $filename) = @_;
9              
10 0           my $zip = Archive::Zip->new;
11 0 0         if ($zip->read($filename) != Archive::Zip::AZ_OK) {
12 0           die "Cannot open file: $filename";
13             }
14              
15             bless {
16 0           _zip => $zip,
17             }, $class;
18             }
19              
20             sub workbook {
21 0     0 0   my ($self) = @_;
22 0           $self->{_zip}->memberNamed('xl/workbook.xml');
23             }
24              
25             sub sheet {
26 0     0 0   my ($self, $id) = @_;
27 0           $self->{_zip}->memberNamed(sprintf 'xl/worksheets/sheet%s.xml', $id);
28             }
29              
30             sub shared_strings {
31 0     0 0   my ($self) = @_;
32 0           $self->{_zip}->memberNamed('xl/sharedStrings.xml');
33             }
34              
35             sub styles {
36 0     0 0   my ($self) = @_;
37 0           $self->{_zip}->memberNamed('xl/styles.xml');
38             }
39              
40             sub relationships {
41 0     0 0   my ($self) = @_;
42 0           $self->{_zip}->memberNamed('xl/_rels/workbook.xml.rels');
43             }
44              
45             1;