Files
Server-scripts/quiethost/perl/excel_rw.pl
T
2026-09-14 12:43:38 +02:00

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