|
Spreadsheet::ParseExcel::SavePaUser(Contributed Perl DocumeSpreadsheet::ParseExcel::SaveParser(3) NAME Spreadsheet::ParseExcel::SaveParser - Rewrite an existing Excel file. SYNOPSIS #1. Write an Excel file with previous data use strict; use Spreadsheet::ParseExcel::SaveParser; my $oExcel = new Spreadsheet::ParseExcel::SaveParser; my $oBook = $oExcel->Parse('temp.xls'); #1.1.Update and Insert Cells my $iFmt = $oBook->{Worksheet}[0]->{Cells}[0][0]->{FormatNo}; $oBook->AddCell(0, 0, 0, 'No(UPD)', $oBook->{Worksheet}[0]->{Cells}[0][0]->{FormatNo}); $oBook->AddCell(0, 1, 0, '304', $oBook->{Worksheet}[0]->{Cells}[0][0]); $oBook->AddCell(0, 1, 1, 'Kawai,Takanori', $iFmt); #1.2.add new worksheet my $iWkN = $oBook->AddWorksheet('Test'); #1.3 Save $oExcel->SaveAs($oBook, 'temp.xls'); # as the same name $oExcel->SaveAs($oBook, 'temp1.xls'); # another name #2. Create new Excel file (most simple) use strict; use Spreadsheet::ParseExcel::SaveParser; my $oEx = new Spreadsheet::ParseExcel::SaveParser; my $oBook = $oEx->Create(); $oBook->AddFormat; $oBook->AddWorksheet('NewWS'); $oBook->AddCell(0, 0, 1, 'New Cell'); $oEx->SaveAs($oBook, 'new.xls'); #3. Create new Excel file(more complex) #!/usr/local/bin/perl use strict; use Spreadsheet::ParseExcel::SaveParser; my $oEx = new Spreadsheet::ParseExcel::SaveParser; my $oBook = $oEx->Create(); my $iF1 = $oBook->AddFont( Name => 'Arial', Height => 11, Bold => 1, #Bold Italic => 1, #Italic Underline => 0, Strikeout => 0, Super => 0, ); my $iFmt = $oBook->AddFormat( Font => $oBook->{Font}[$iF1], Fill => [1, 10, 0], # Filled with Red # cf. ParseExcel (@aColor) BdrStyle => [0, 1, 1, 0], #Border Right, Top BdrColor => [0, 11, 0, 0], # Right->Green ); $oBook->AddWorksheet('NewWS'); $oBook->AddCell(0, 0, 1, 'Cell', $iFmt); $oEx->SaveAs($oBook, 'new.xls'); new interface... use strict; use Spreadsheet::ParseExcel::SaveParser; $oBook = Spreadsheet::ParseExcel::SaveParser::Workbook->Parse('Excel/Test97.xls'); my $oWs = $oBook->AddWorksheet('TEST1'); $oWs->AddCell(10, 1, 'New Cell'); $oBook->SaveAs('iftest.xls'); DESCRIPTION Spreadsheet::ParseExcel::SaveParser : Expand of Spreadsheet::ParseExcel with Spread- sheet::WriteExcel Functions new $oExcel = new Spreadsheet::ParseExcel::SaveParser(); Constructor. Parse $oWorkbook = $oParse->Parse($sFileName [, $oFmt]); return "Workbook" object. if error occurs, returns undef. $sFileName name of the file to parse (Same as Spreadsheet::ParseExcel) From 0.12 (with OLE::Storage_Lite v.0.06), scalar reference of file contents (ex. \$sBuff) or IO::Handle object (inclucdng IO::File etc.) are also available. $oFmt Formatter Class to format the value of cells. Create $oWorkbook = $oParse->Create([$oFmt]); return new "Workbook" object. if error occurs, returns undef. $oFmt Formatter Class to format the value of cells. SaveAs $oWorkbook = $oParse->SaveAs( $oBook, $sName); save $oBook image as an Excel file named $sName. $oBook An Excel Workbook object to save. $sName Name of new Excel file. Workbook Spreadsheet::ParseExcel::SaveParser::Workbook Workbook is a subclass of Spreadsheet::ParseExcel::Workbook. And has these methods : AddWorksheet $oWorksheet = $oBook->AddWorksheet($sName, %hProperty); Create new Worksheet(Spreadsheet::ParseExcel::Worksheet). $sName Name of new Worksheet $hProperty Property of new Worksheet. AddFont $oWorksheet = $oBook->AddFont(%hProperty); Create new Font(Spreadsheet::ParseExcel::Font). $hProperty Property of new Worksheet. AddFormat $oWorksheet = $oBook->AddFormat(%hProperty); Create new Format(Spreadsheet::ParseExcel::Format). $hProperty Property of new Format. AddCell $oWorksheet = $oBook->AddCell($iWorksheet, $iRow, $iCol, $sVal, $iFormat [, $sCode]); Create new Cell(Spreadsheet::ParseExcel::Cell). $iWorksheet Number of Worksheet $iRow Number of row $sVal Value of the cell. $iFormat Number of format for use. To specify just same as another cell, you can set it like below: ex. $oCell=$oWorksheet->{Cells}[0][0]; #Just a sample $oBook->AddCell(0, 1, 0, 'New One', $oCell->{FormatNo}); #or $oBook->AddCell(0, 1, 0, 'New One', $oCell); $sCode Character code Worksheet Spreadsheet::ParseExcel::SaveParser::Worksheet Worksheet is a subclass of Spreadsheet::ParseExcel::Worksheet. And has these methods : AddCell $oWorksheet = $oWkSheet->AddCell($iRow, $iCol, $sVal, $iFormat [, $sCode]); Create new Cell(Spreadsheet::ParseExcel::Cell). $iRow Number of row $sVal Value of the cell. $iFormat Number of format for use. To specify just same as another cell, you can set it like below: ex. $oCell=$oWorksheet->{Cells}[0][0]; #Just a sample $oWorksheet->AddCell(1, 0, 'New One', $oCell->{FormatNo}); #or $oWorksheet->AddCell(1, 0, 'New One', $oCell); $sCode Character code MORE INFORMATION Please visit my Wiki page. I'll add sample at : http://www.hippo2000.info/cgi-bin/KbWikiE/KbWiki.pl Known Problem -Only last print area will remain. (Others will be removed) AUTHOR Kawai Takanori (Hippo2000) http://member.nifty.ne.jp/hippo2000/ (Japanese) http://member.nifty.ne.jp/hippo2000/index_e.htm (English) SEE ALSO XLHTML, OLE::Storage, Spreadsheet::WriteExcel, OLE::Storage_Lite This module is based on herbert within OLE::Storage and XLHTML. COPYRIGHT Copyright (c) 2009 John McNamara Copyright (c) 2006-2008 Gabor Szabo Copyright (c) 2000-2002 Kawai Takanori and Nippon-RAD Co. OP Division All rights reserved. You may distribute under the terms of either the GNU General Public License or the Artis- tic License, as specified in the Perl README file. ACKNOWLEDGEMENTS First of all, I would like to acknowledge valuable program and modules : XHTML, OLE::Stor- age and Spreadsheet::WriteExcel. In no particular order: Yamaji Haruna, Simamoto Takesi, Noguchi Harumi, Ikezawa Kazuhiro, Suwazono Shugo, Hirofumi Morisada, Michael Edwards, Kim Namusk and many many people + Kawai Mikako. perl v5.8.8 2009-01-08 Spreadsheet::ParseExcel::SaveParser(3) |