Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
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
Re: spreadsheet writeexcel
by marto (Chancellor) 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 lurking in the Monastery: (5)
As of 2014-09-22 06:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (182 votes), past polls