Thread [Spreadsheet::WriteExcel] Excel-Datei nach Bearbeitung öffnen (3 answers)
Opened by bob.george at 2011-11-04 08:39

bob.george
 2011-11-04 08:39
#153850 #153850
User since
2011-09-02
104 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,
ich hab ein kleines Problem. Ich möchte über Perl eine Excel Datei bearbeiten, genauer gesagt am Ende der Tabelle Zeilen ergänzen und diese Datei dann öffnen. Hierzu verwende ich folgenden Code:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/perl

use warnings;
use strict;


use Spreadsheet::WriteExcel;
use Spreadsheet::ParseExcel::SaveParser;

#Originaldatei sichern
rename('test.xls', 'test.xls.bak')
|| die "Umbenennung nicht möglich!";
unlink('test.xls');

# Open the template with SaveParser
my $parser = new Spreadsheet::ParseExcel::SaveParser;
my $template = $parser->Parse('test.xls.bak');
my $sheet = 0;
my $row = 0;
my $col = 0;

$sheet = $template->{Worksheet}[0];
$row = $sheet->{MaxRow};
$sheet = 0;

# Get the format from the cell
my $format = $template->{Worksheet}[$sheet]
->{Cells}[$row][$col]
->{FormatNo};

# Write data to some cells
$template->AddCell(0, $row+1, $col, 1, $format);
$template->AddCell(0, $row+2, $col, "Hello", $format);

my $workbook = $template->SaveAs('test.xls');

system("\"C:\\Programme\\Microsoft Office\\Office\\EXCEL.EXE\" \"U:\\Eclipse\\workspace\\Excel_schreiben\\test.xls\"");
1;

Beim Öffnen der Datei bekomme ich von Excel jedoch immer den Hinweis die Datei sei gesperrt. Ich muss also anscheinend noch einen close oder sowas absetzen. Weiß jemand wie das geht?

modedit Editiert von GwenDragon: Titel um Modulnamen erweitert
Last edited: 2011-11-04 11:41:44 +0100 (CET)

View full thread [Spreadsheet::WriteExcel] Excel-Datei nach Bearbeitung öffnen