User since
2004-06-17
305
Artikel
BenutzerIn
Hi,
ich suche nach einer Möglichkeit eine vorhandene Excel-Datei zu öffnen, bestimmte Felder zu editieren und die Datei wieder abzuspeichern.
Da die Datei ein Formular darstellt sollen die bestehenden Formatierungen natürlich dabei nicht verändert werden. Das ganze soll über CGI auf einem Web-Server laufen.
Also i.e. so:
- Datei öffnen
- Schreibe in Zelle C3 "Name"
- Schreibe in Zelle D3 "Vorname"
- Schreibe in Zelle C8 "Straße"
... usw.
- Datei wieder speichern
Momentan arbeite ich mit Spreadsheet::WriteExcel. Aber damit kann man ja keine vorhandenen Dateien öffnen, oder doch?
User since
2003-08-04
14371
Artikel
ModeratorIn
Dafür bräuchtest Du
Spreadsheet::ParseExcel. Es gibt auch ein Modul, mit dem man lesen und schreiben kann (basiert auf WriteExcel und ParseExcel)
User since
2003-08-04
2036
Artikel
BenutzerIn
Nein, brauchst kein Excel spezifisches Modul dafuer, funkt auch so...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/perl
use warnings;
use strict;
use Win32::OLE;
my $xlsFile = "c:\\lokale_daten\\test.xls";
my $excel = Win32::OLE->new('Excel.Application','Quit') or die $!;
my $workbook = $excel->Workbooks->Open($xlsFile);
my $sheet = $workbook->Worksheets(1);
$sheet->Range("A1")->{Value} = "B";
$excel->Save();
$excel->Quit();
print "Fertig.\n";
1;
User since
2005-08-17
1420
Artikel
BenutzerIn
Nun ja, dafür muss das Skript dann aber zwingend auf einem Windows-System mit installiertem Excel laufen...