Schrift
[thread]8138[/thread]

Mit Perl in Excel Spalte sortieren: Mit Perl in Excel Spalte sortieren

Leser: 2


<< >> 9 Einträge, 1 Seite
rommmi
 2006-07-05 13:34
#67849 #67849
User since
2006-06-11
15 Artikel
BenutzerIn
[default_avatar]
Hallo Perl-Fans,

wie kann ich mit Perl eine Excel-Spalte sortieren (aufsteigend, absteigend) lassen. Habe das Modul Spreadsheet::WriteExcel bei meinem Programm im Einsatz aber ich finde keine Funktion um eine Spalte sortieren zu lassen!!

Wer weiss mehr?

Gruss und Danke
rommmi
renee
 2006-07-05 13:47
#67850 #67850
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das kannst Du mit CPAN:Spreadsheet::SimpleExcel machen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Teutales
 2006-07-05 13:53
#67851 #67851
User since
2006-03-21
47 Artikel
BenutzerIn
[default_avatar]
Mit Win32::OLE gehts so:

Code: (dl )
1
2
3
4
5
        
$sheet->Range("A2:E$excelLength")->Sort({
Key1 => $sheet->Range('a1'),
Order1 => xlAscending,
})


Wird dir wohl aber mit Spreadsheet::WriteExcel nicht viel nützen...
rommmi
 2006-07-05 17:55
#67852 #67852
User since
2006-06-11
15 Artikel
BenutzerIn
[default_avatar]
Hallo renee,

danke erstmal! Ich habe das Modul auch gleich geladen, aber mir ist nicht ganz klar wie ich da in einem existierenden Excel-File die Spalte G bzw. die Zellen G3 bis G148 absteigend sortieren lassen kann?? Mein Excel-File heisst "Auswertung.xls" und liegt unter C:\

Ich bekomme ja schon Probleme beim Erstellen des Objekts. Ich will ja schliesslich schon auf ein bestehendes Excel-Sheet zugreifen. Wie mach ich denn das?
my $excel = Spreadsheet::SimpleExcel->new("C:\\Auswertung.xls");
da kommen aber Hash-Fehlermeldungen.

Das mit dem Sortieren ist dann wohl der Teil, oder?r:
$excel->sort_data('Name of Worksheet',0,'DESC');

Gruss
rommi
renee
 2006-07-05 18:01
#67853 #67853
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Achso, Du willst ein bestehendes Sheet bearbeiten?? Dann geht es (noch) nur mit CPAN:Win32::OLE (siehe Snippet von Teutales).

Ich hatte angenommen, dass Du Dir die Excel-Daten in dem Perl-Skript generierst (da Du CPAN:Spreadsheet::WriteExcel verwendest).
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
rommmi
 2006-07-05 19:03
#67854 #67854
User since
2006-06-11
15 Artikel
BenutzerIn
[default_avatar]
@renee
da hab ich mich wohl ein bisschen unklar ausgedrückt! Danke für die schnelle Antwort.

@Teutales
Kann ich das auf ein bestehendes Excel-Sheet auch anwenden?
Da muss ich wohl erst ein Objekt ereugen und dann auf ein bestehendes Sheet zugreifen, oder? Soweit ich das auf die Schnelle in Win32::OLE nachgelesen habe.

$excelobjekt = Win32::OLE->GetActiveObject("Auswertung.xls");

und wie greife ich dann auf ein Arbeitsblatt zu dass in meiner Excel-Datei "Terminuebersicht" heisst? Und lasse dann die Zellen G3 bis G148 sortieren?

Gruss
rommmi
renee
 2006-07-05 19:16
#67855 #67855
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
my $sheet = $excelobjekt->Worksheets("Terminuebersicht");


Hier findest Du noch ein paar Links zu Tutorials etc: http://win32.perl.org/wiki/index.php?title=Win32_Perl_Modules
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
rommi
 2006-07-05 23:12
#67856 #67856
User since
2005-03-03
54 Artikel
BenutzerIn
[default_avatar]
Hallo renee u. teutales,

habt mir super weitergeholfen. Klappt alles, grazie!

gruss
rommmi
Teutales
 2006-07-06 11:35
#67857 #67857
User since
2006-03-21
47 Artikel
BenutzerIn
[default_avatar]
Morgen! Freut mich geholfen zu haben...
<< >> 9 Einträge, 1 Seite



View all threads created 2006-07-05 13:34.