Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

spreadsheet writeexcel

by Biju (Initiate)
on Sep 26, 2011 at 13:20 UTC ( #927870=perlquestion: print w/ replies, xml ) Need Help??
Biju has asked for the wisdom of the Perl Monks concerning the following question:

How to insert a text which contains all the combinations (normal text, subscript, superscript, italic, bold) in a cell of a MSEXCEL using spreadsheet::writeexcel

Comment on spreadsheet writeexcel
Replies are listed 'Oldest First'.
Re: spreadsheet writeexcel
by marto (Bishop) on Sep 26, 2011 at 13:26 UTC
Re: spreadsheet writeexcel
by jmcnamara (Monsignor) on Sep 26, 2011 at 14:55 UTC

    If you mean "all the combinations" in one cell then you can't do it with Spreadsheet::WriteExcel since it only allows one format object per cell and features like super/subscript are mutually exclusive.

    You can add multiple formats to text with Excel::Writer::XLSX which is (more or less) a drop in replacement for Spreadsheet::WriteExcel.

    See the rich_strings.pl example in the distro.

    --
    John.

      I am new to Perl and hope where is the right place to post.
      What I want is simply update Excel file. The following code is by jmcnamara.
      Source was this link:
      #!/usr/local/bin/perl -wT print "Content-type: text/html\n\n"; use strict; use Spreadsheet::ParseExcel; use Spreadsheet::ParseExcel::SaveParser; my $parser = Spreadsheet::ParseExcel->new(); my $workbookR = $parser->parse('file2.xls'); my $worksheetR = $workbookR->worksheet(0); my ( $row_min, $row_max ) = $worksheetR->row_range(); my ( $col_min, $col_max ) = $worksheetR->col_range(); print "row min:$row_min row_max:$row_max col_max:$col_max\n\n"; # Open the template with SaveParser my $parser2 = new Spreadsheet::ParseExcel::SaveParser; my $template = $parser2->Parse('file2.xls'); my $sheet = 0; my $row = 0; my $col = 0; # Get the format from the cell my $format = $template->{Worksheet}[$sheet] ->{Cells}[$row][$col] ->{FormatNo}; my $workbook; { # SaveAs generates a lot of harmless warnings about unset # Worksheet properties. You can ignore them if you wish. local $^W = 0; # Rewrite the file or save as a new file $workbook = $template->SaveAs('file2.xls'); } # Use Spreadsheet::WriteExcel methods my $worksheet = $workbook->sheets(0); if($row_max == -1){ for my $i (0..4){ $worksheet->write(0, $i, "A$i", $format); }} for my $i (0..$col_max){ $worksheet->write($row_max+1, $i, "B$i", $format); # not work } $workbookR->close(); $workbook->close();

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://927870]
Approved by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (15)
As of 2015-07-07 16:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (91 votes), past polls