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)
|