M
moller
I'm new to perl but not to programming in general.
I have been trying to put some data into an excel
sheet. And it works fine.... if I hardcode the data.
And I of cource I dont want to do that.
This code works:
my $table = [["040101",11,12,13,14,15],
["040102",21,22,23,24,25],
["040103",31,32,33,34,35],
["040104",41,42,43,44,45],
["040105",51,52,53,54,55]];
$Sheet->Range("A3:E7")->{Value} = $table;
So my (probably stupid) question is:
How do I create the $table array dynamicly?
foreach (sort (keys %My_hash)) {
my $A = $My_hash{$_} { data_a };
my $B = $My_hash{$_} { data_b };
my $C = $My_hash{$_} { data_c };
my $D = $My_hash{$_} { data_d };
my $E = $My_hash{$_} { data_e };
And here I would like to create each "row" in the array
}
I have tried using an normal array like this but this goes wrong.
I get nonsens data in my excel file.
my @arr;
foreach (sort (keys %My_hash)) {
my $A = $My_hash{$_} { data_a };
my $B = $My_hash{$_} { data_b };
my $C = $My_hash{$_} { data_c };
my $D = $My_hash{$_} { data_d };
my $E = $My_hash{$_} { data_e };
push @arr, [$_, $A, $B, $C, $D, $D];
}
$Sheet->Range("A3:E7")->{Value} = @arr;
I'm quite sure ther is somthing basic I'm missing.
Any suggestions apreciated.
I have been trying to put some data into an excel
sheet. And it works fine.... if I hardcode the data.
And I of cource I dont want to do that.
This code works:
my $table = [["040101",11,12,13,14,15],
["040102",21,22,23,24,25],
["040103",31,32,33,34,35],
["040104",41,42,43,44,45],
["040105",51,52,53,54,55]];
$Sheet->Range("A3:E7")->{Value} = $table;
So my (probably stupid) question is:
How do I create the $table array dynamicly?
foreach (sort (keys %My_hash)) {
my $A = $My_hash{$_} { data_a };
my $B = $My_hash{$_} { data_b };
my $C = $My_hash{$_} { data_c };
my $D = $My_hash{$_} { data_d };
my $E = $My_hash{$_} { data_e };
And here I would like to create each "row" in the array
}
I have tried using an normal array like this but this goes wrong.
I get nonsens data in my excel file.
my @arr;
foreach (sort (keys %My_hash)) {
my $A = $My_hash{$_} { data_a };
my $B = $My_hash{$_} { data_b };
my $C = $My_hash{$_} { data_c };
my $D = $My_hash{$_} { data_d };
my $E = $My_hash{$_} { data_e };
push @arr, [$_, $A, $B, $C, $D, $D];
}
$Sheet->Range("A3:E7")->{Value} = @arr;
I'm quite sure ther is somthing basic I'm missing.
Any suggestions apreciated.