56 lines
1.6 KiB
Perl
Executable File
56 lines
1.6 KiB
Perl
Executable File
#!/usr/bin/perl -w
|
|
|
|
use strict;
|
|
use Spreadsheet::ParseExcel;
|
|
use Spreadsheet::ParseExcel::SaveParser;
|
|
|
|
# Open the template with SaveParser
|
|
my $parser = new Spreadsheet::ParseExcel::SaveParser;
|
|
#my $finanzen = "/data/DatenLucas/Dokumente/Dokumente/Finanzen/Finanzen2020.ods"
|
|
my $finanzen = 'test.ods';
|
|
my $template = $parser->Parse($finanzen);
|
|
|
|
my $sheet = 0;
|
|
my $row = 3;
|
|
my $col = 3;
|
|
|
|
# Get the format from the cell
|
|
my $format = $template->{Worksheet}[$sheet]
|
|
->{Cells}[$row][$col]
|
|
->{FormatNo};
|
|
|
|
# Write data to some cells
|
|
$template->AddCell(0, $row, $col, 1, $format);
|
|
$template->AddCell(0, $row+1, $col, "Hello", $format);
|
|
# Add a new worksheet
|
|
$template->AddWorksheet('New Data');
|
|
$template->AddCell(1, $row+2, $col, "Hello3", $format);
|
|
my $worksheet_1 = $template->worksheet('New Data');
|
|
$worksheet_1->AddCell($row+3, $col, "Hello3", $format);
|
|
|
|
# The SaveParser SaveAs() method returns a reference to a
|
|
# Spreadsheet::WriteExcel object. If you wish you can then
|
|
# use this to access any of the methods that aren't
|
|
# available from the SaveParser object. If you don't need
|
|
# to do this just use SaveAs().
|
|
#
|
|
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('new.ods');
|
|
}
|
|
|
|
# Use Spreadsheet::WriteExcel methods
|
|
my $worksheet = $workbook->sheets(0);
|
|
|
|
|
|
$worksheet->write($row+2, $col, "World2");
|
|
|
|
|
|
$workbook->close();
|