2016-04-12 9 views
0

Ich habe einen Hash mit Schlüssel und Werte (Array). Ich möchte, dass sie in eine Tabelle dumpPerl-Dump-Daten von einem Hash in eine Tabelle

%hash 
    key1 -> foo bar 
    key2-> john adam gill 
    key3-> apple banana mango orange 

Code:

use strict; 
use warnings; 
use Excel::Writer::XLSX; 

my $workbook = Excel::Writer::XLSX->new('c:\TEMP\filename.xlsx'); 
my $worksheet = $workbook->add_worksheet(); 

my $row = 1; 
my $col = 1; 

foreach my $k (keys %hash) 
{ 
    $worksheet->write($row, $col)->{Value} = $k;    # title 
    $worksheet->write($row, $col++,)->{Value} = $hash{$k};  # value 
    $row++; 
} 

Stromausgang
kann nicht rufen Methode "add_worksheet" auf einen nicht definierten Wert

gewünschte Ausgabe

enter image description here

Antwort

2

Es scheint, dass fehlgeschlagen ist. Fügen Sie diesen Code nach dem Aufruf new, um zu sehen, was schief gelaufen ist:

if (not defined $workbook) 
{ 
    die "Failed to create spreadsheet: $!"; 
} 
+0

Hinzugefügt den Code und kam zu wissen, dass es eine Berechtigung verweigert Fehler. Also hinzugefügt Arbeitsmappe-> close() und kam von der Berechtigung verweigert Fehler. Jetzt werde ich etwas anders ausgegeben, als ich brauche. Aktualisierte den Code und Ausgaben – Jill448

+0

@ Jill448 Das ist eine ganz andere Frage. Bitte erstellen Sie einen neuen Post, anstatt die Antworten zu entwerten, für die die Leute bereits geschrieben haben. – ThisSuitIsBlackNot

+0

@ThisSuitIsBlackNot Sicher wird es tun – Jill448