Thread Excel::Writer::XLSX - Excel Formel mit Variable (3 answers)
Opened by numerobis at 2019-02-21 12:49

numerobis
 2019-02-21 12:49
#189816 #189816
User since
2019-01-17
6 articles
BenutzerIn
[default_avatar]
Hallo,

ich habe ein kleines Problem mit dem Excel Modul "Excel::Writer::XLSX". Ich würde gerne in Excel in eine Tabelle eine Formel schreiben. So weit so gut.
Nachdem ich den Tabelleninhalt aus einer Datenbank herausziehe, ist die Anzahl der Datensätze unterschiedlich. Aus diesem Grund würde ich gerne die Excel Formel über eine Variable "befüllen".
Leider bekomme ich wenn ich beim öffnen der Excel Tabelle in Excel eine Fehlermeldung und die Formel mit der Variable ist nicht vorhanden. Aus der Fehlermeldung sind keinerlei Rückschlüsse möglich.

Habt Ihr eine Idee wie ich die Formel (Zeile 23 - 29) schreiben muss, damit diese in Excel funktioniert?

Ich habe einmal ein Beispiel angehängt, natürlich ohne DB Zugriff.

Grüße und Danke für Eure Unterstütung

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
use strict;
use Excel::Writer::XLSX;

# Hier wird das Excel Dokument geöffnet
my $workbook = Excel::Writer::XLSX->new( 'Port.xlsx' );
my $worksheet = $workbook->add_worksheet( 'Port_Übersicht' );

# Tabelle mit Inhalt füllen
$worksheet->write( "B5", "Port");
$worksheet->write( "C5", "Status");
$worksheet->write( "B6", "1");
$worksheet->write( "C6", "Up");
$worksheet->write( "B7", "3");
$worksheet->write( "C7", "Up");
$worksheet->write( "B8", "4");
$worksheet->write( "C8", "Up");
$worksheet->write( "B9", "5");
$worksheet->write( "C9", "Down");

$worksheet->write( "E5", "Up-Ports");
$worksheet->write( "E6", "Down-Ports");

# Formeln mit Variable hinzufügen
my $Anzahl_Eintraege = 4;
my $Zellenende = $Anzahl_Eintraege + 5;
my $Ende = "C$Zellenende";
my $UP_Formel = "'=COUNTIF(C6:$Ende,\"Up\")'";

$worksheet->write_formula('F5',($UP_Formel));

# Formel ohne Variable
$worksheet->write_formula('F6', '=COUNTIF(C6:C9,"Down")');

$workbook->close;
exit;

View full thread Excel::Writer::XLSX - Excel Formel mit Variable