Excel-Writer-XLSX
view release on metacpan or search on metacpan
lib/Excel/Writer/XLSX/Package/VML.pm view on Meta::CPAN
my @attributes = ( 'ObjectType' => $object_type );
$self->xml_start_tag( 'x:ClientData', @attributes );
# Write the x:MoveWithCells element.
$self->_write_move_with_cells();
# Write the x:SizeWithCells element.
$self->_write_size_with_cells();
# Write the x:Anchor element.
$self->_write_anchor( $vertices );
# Write the x:AutoFill element.
$self->_write_auto_fill();
# Write the x:Row element.
$self->_write_row( $row );
# Write the x:Column element.
$self->_write_column( $col );
# Write the x:Visible element.
$self->_write_visible() if $visible;
$self->xml_end_tag( 'x:ClientData' );
}
##############################################################################
#
# _write_button_client_data()
#
# Write the <x:ClientData> element.
#
sub _write_button_client_data {
my $self = shift;
my $button = shift;
my $row = $button->{_row};
my $col = $button->{_col};
my $macro = $button->{_macro};
my $vertices = $button->{_vertices};
my $object_type = 'Button';
my @attributes = ( 'ObjectType' => $object_type );
$self->xml_start_tag( 'x:ClientData', @attributes );
# Write the x:Anchor element.
$self->_write_anchor( $vertices );
# Write the x:PrintObject element.
$self->_write_print_object();
# Write the x:AutoFill element.
$self->_write_auto_fill();
# Write the x:FmlaMacro element.
$self->_write_fmla_macro( $macro );
# Write the x:TextHAlign element.
$self->_write_text_halign();
# Write the x:TextVAlign element.
$self->_write_text_valign();
$self->xml_end_tag( 'x:ClientData' );
}
##############################################################################
#
# _write_move_with_cells()
#
# Write the <x:MoveWithCells> element.
#
sub _write_move_with_cells {
my $self = shift;
$self->xml_empty_tag( 'x:MoveWithCells' );
}
##############################################################################
#
# _write_size_with_cells()
#
# Write the <x:SizeWithCells> element.
#
sub _write_size_with_cells {
my $self = shift;
$self->xml_empty_tag( 'x:SizeWithCells' );
}
##############################################################################
#
# _write_visible()
#
# Write the <x:Visible> element.
#
sub _write_visible {
my $self = shift;
$self->xml_empty_tag( 'x:Visible' );
}
##############################################################################
#
# _write_anchor()
#
# Write the <x:Anchor> element.
#
lib/Excel/Writer/XLSX/Package/VML.pm view on Meta::CPAN
# Write the <x:Column> element.
#
sub _write_column {
my $self = shift;
my $data = shift;
$self->xml_data_element( 'x:Column', $data );
}
##############################################################################
#
# _write_print_object()
#
# Write the <x:PrintObject> element.
#
sub _write_print_object {
my $self = shift;
my $data = 'False';
$self->xml_data_element( 'x:PrintObject', $data );
}
##############################################################################
#
# _write_text_halign()
#
# Write the <x:TextHAlign> element.
#
sub _write_text_halign {
my $self = shift;
my $data = 'Center';
$self->xml_data_element( 'x:TextHAlign', $data );
}
##############################################################################
#
# _write_text_valign()
#
# Write the <x:TextVAlign> element.
#
sub _write_text_valign {
my $self = shift;
my $data = 'Center';
$self->xml_data_element( 'x:TextVAlign', $data );
}
##############################################################################
#
# _write_fmla_macro()
#
# Write the <x:FmlaMacro> element.
#
sub _write_fmla_macro {
my $self = shift;
my $data = shift;
$self->xml_data_element( 'x:FmlaMacro', $data );
}
##############################################################################
#
# _write_imagedata()
#
# Write the <v:imagedata> element.
#
sub _write_imagedata {
my $self = shift;
my $index = shift;
my $o_title = shift;
my @attributes = (
'o:relid' => 'rId' . $index,
'o:title' => $o_title,
);
$self->xml_empty_tag( 'v:imagedata', @attributes );
}
##############################################################################
#
# _write_formulas()
#
# Write the <v:formulas> element.
#
sub _write_formulas {
my $self = shift;
$self->xml_start_tag( 'v:formulas' );
# Write the v:f elements.
$self->_write_f('if lineDrawn pixelLineWidth 0');
$self->_write_f('sum @0 1 0');
$self->_write_f('sum 0 0 @1');
$self->_write_f('prod @2 1 2');
$self->_write_f('prod @3 21600 pixelWidth');
$self->_write_f('prod @3 21600 pixelHeight');
$self->_write_f('sum @0 0 1');
$self->_write_f('prod @6 1 2');
$self->_write_f('prod @7 21600 pixelWidth');
$self->_write_f('sum @8 21600 0');
$self->_write_f('prod @7 21600 pixelHeight');
$self->_write_f('sum @10 21600 0');
$self->xml_end_tag( 'v:formulas' );
}
##############################################################################
#
# _write_f()
#
# Write the <v:f> element.
#
( run in 0.581 second using v1.01-cache-2.11-cpan-39bf76dae61 )