Excel-Writer-XLSX
view release on metacpan or search on metacpan
lib/Excel/Writer/XLSX/Package/XMLwriter.pm view on Meta::CPAN
my $self = shift;
my $string = shift;
my $attr = '';
while ( @_ ) {
my $key = shift;
my $value = shift;
$attr .= qq( $key="$value");
}
$string = _escape_data( $string );
local $\ = undef;
print { $self->{_fh} } "<si><t$attr>$string</t></si>";
}
###############################################################################
#
# xml_rich_si_element()
#
# Optimised tag writer for shared strings <si> rich string elements.
#
sub xml_rich_si_element {
my $self = shift;
my $string = shift;
local $\ = undef;
print { $self->{_fh} } "<si>$string</si>";
}
###############################################################################
#
# xml_number_element()
#
# Optimised tag writer for <c> cell number elements in the inner loop.
#
sub xml_number_element {
my $self = shift;
my $number = shift;
my $attr = '';
while ( @_ ) {
my $key = shift;
my $value = shift;
$attr .= qq( $key="$value");
}
local $\ = undef;
print { $self->{_fh} } "<c$attr><v>$number</v></c>";
}
###############################################################################
#
# xml_formula_element()
#
# Optimised tag writer for <c> cell formula elements in the inner loop.
#
sub xml_formula_element {
my $self = shift;
my $formula = shift;
my $result = shift;
my $attr = '';
while ( @_ ) {
my $key = shift;
my $value = shift;
$attr .= qq( $key="$value");
}
$formula = _escape_data( $formula );
local $\ = undef;
print { $self->{_fh} } "<c$attr><f>$formula</f><v>$result</v></c>";
}
###############################################################################
#
# xml_inline_string()
#
# Optimised tag writer for inlineStr cell elements in the inner loop.
#
sub xml_inline_string {
my $self = shift;
my $string = shift;
my $preserve = shift;
my $attr = '';
my $t_attr = '';
# Set the <t> attribute to preserve whitespace.
$t_attr = ' xml:space="preserve"' if $preserve;
while ( @_ ) {
my $key = shift;
my $value = shift;
$attr .= qq( $key="$value");
}
$string = _escape_data( $string );
local $\ = undef;
print { $self->{_fh} }
"<c$attr t=\"inlineStr\"><is><t$t_attr>$string</t></is></c>";
}
###############################################################################
#
# xml_rich_inline_string()
#
# Optimised tag writer for rich inlineStr cell elements in the inner loop.
#
sub xml_rich_inline_string {
my $self = shift;
my $string = shift;
my $attr = '';
while ( @_ ) {
my $key = shift;
my $value = shift;
$attr .= qq( $key="$value");
}
local $\ = undef;
print { $self->{_fh} } "<c$attr t=\"inlineStr\"><is>$string</is></c>";
}
###############################################################################
#
# xml_get_fh()
( run in 2.255 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )