perl dateien anlegen - excel auslesen
|
Seitenanfang |
hallo, ich habe ein problem und zwar möchte ich eine excel datei auslesen und diese dann auf eminer webseite präsentieren. mit asp oder so ist das kein problem aber das problem ist, dass mein server asp nicht unterstützt. daher muß ich wohl auf perl zurück greifen. allerdings habe ich von perl NULL ahnung. ich weiß noch nicht mal wie ne perl datei aufgenaut ist. es gibt wohl das script parse excel (http://search.cpan.org/~kwitknr/Spreadsheet-ParseExcel-0.2602/ParseExcel.pm) aber ich kann damit nix anfangen, weil ich nciht weiß, wie ich mit dme code umgehen muß. wäre nett, wenn mir einer (oder mehrere) erklären könnten, wie ich mit perl die exceldateien auslesen kann. danke, k.
Datum: 18.05.2005-18:41

|
re: perl dateien anlegen - excel auslesen
|
Seitenanfang |
use strict; use Spreadsheet::ParseExcel; my $oBook = Spreadsheet::ParseExcel::Workbook->Parse('Excel/Test97.xls'); my($iR, $iC, $oWkS, $oWkC); foreach my $oWkS (@{$oBook->{Worksheet}}) { print "--------- SHEET:", $oWkS->{Name}, "\n"; for(my $iR = $oWkS->{MinRow} ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) { for(my $iC = $oWkS->{MinCol} ; defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ; $iC++) { $oWkC = $oWkS->{Cells}[$iR][$iC]; print "( $iR , $iC ) =>", $oWkC->Value, "\n" if($oWkC); } } } Ist doch ne gute Basis. Das öffnet die Excel-Datei und gibt Zeile für Zeile die einzelnen Spalten aus...
Datum: 19.05.2005-10:16

|
re: perl dateien anlegen - excel auslesen
|
Seitenanfang |
| danke für die antwort. wie wird das jetzt in eine perldatei eingebunden? nur dieser code oder kommt da noch was drumherum so wie bei php beispielsweise. könntest du mir noch den kompletten inhalt der datei geben? wäre nett. de bekommt dann die endung .pl oder ne andere? wie gesagt habe keine ahung von perl
Datum: 19.05.2005-11:36

|
re: perl dateien anlegen - excel auslesen
|
Seitenanfang |
#! /usr/bin/perl use strict; use Spreadsheet::ParseExcel; use CGI::Carp qw(fatalsToBrowser);print "Content-type: text/html\n\n"; my $oBook = Spreadsheet::ParseExcel::Workbook->Parse('Excel/Test97.xls'); my($iR, $iC, $oWkS, $oWkC); foreach my $oWkS (@{$oBook->{Worksheet}}) { print "--------- SHEET:", $oWkS->{Name}, "\n"; for(my $iR = $oWkS->{MinRow} ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) { for(my $iC = $oWkS->{MinCol} ; defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ; $iC++) { $oWkC = $oWkS->{Cells}[$iR][$iC]; print "( $iR , $iC ) =>", $oWkC->Value, "\n" if($oWkC); } } } Was man bei CGI noch so beachten sollte: http://wiki.perl-community.de/bin/view/Wissensbasis/FaqCGIServerError500
Datum: 19.05.2005-13:31

|
re: perl dateien anlegen - excel auslesen
|
Seitenanfang |
| hallo nochmal. das script funktioniert nicht. habe folgendes in die datei termine.pl geschrieben: #! /usr/bin/perl use strict; use Spreadsheet::ParseExcel; use CGI::Carp qw(fatalsToBrowser); print "Content-type: text/html\n\n"; my $oBook = Spreadsheet::ParseExcel::Workbook->Parse('Terminplanung.xls'); my($iR, $iC, $oWkS, $oWkC); foreach my $oWkS (@{$oBook->{Worksheet}}) { print "--------- SHEET:", $oWkS->{Name}, "\n"; for(my $iR = $oWkS->{MinRow} ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) { for(my $iC = $oWkS->{MinCol} ; defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ; $iC++) { $oWkC = $oWkS->{Cells}[$iR][$iC]; print "( $iR , $iC ) =>", $oWkC->Value, "\n" if($oWkC); } } } ein perlverzeichnis gibt es nicht und der pfad is auch richtig. die xls datei ist auch da aber es steht nur da: Software error: Error PPS:0 ÿÿÿÿÿ ÀFŸµÔ_ÅþÿÿÿWorkbookÿÿÿ For help, please send mail to the webmaster giving this error message and the time and date of the error. die seltsamen zeichen waren tatsächlich da. hilfe wäre schön
Datum: 23.05.2005-22:43

|
re: perl dateien anlegen - excel auslesen
|
Seitenanfang |
| Der Code funktioniert einwandfrei... Hast Du Spreadsheet::ParseExcel und OLE::Storage_Lite (>= 0.14) installiert??
Datum: 24.05.2005-09:56

|
re: perl dateien anlegen - excel auslesen
|
Seitenanfang |
laut domaingo ist OLE::Storage_Lite 0.14 und Spreadsheet::ParseExcel 0.2603 installiert
Datum: 24.05.2005-12:05

|