Schrift
[thread]8251[/thread]

Exceldatei

Leser: 2


<< |< 1 2 >| >> 11 Einträge, 2 Seiten
Annka
 2006-08-21 10:22
#69053 #69053
User since
2006-07-18
43 Artikel
BenutzerIn
[default_avatar]
Guten morgen,

ich habe ein programm geschrieben, welches eine exceldatei erstellt. in der exceldatei ist eine art tabelle.

alle werte werden in die excel datei eingetragen aber falsch angeordnet,

d.h. A B C D
1 tim
2 tom
3 lilli
4 bender
5 friedrich
6 muster
7 straße
8 straße

ich hatte eine zeile so erstellt:
push(@zweite_Zeile, "\t $second_col[$j] \n");

die spalten sollten halt nebeneinander sein und nicht so untereinander nebeneinander ....

wer kann helfen?
renee
 2006-08-21 10:34
#69054 #69054
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Zeig mal mehr von Deinem Code. Nur anhand von dieser einen Zeile lässt es sich schwer sagen, wie Du es anders machen musst.
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/
Annka
 2006-08-21 10:36
#69055 #69055
User since
2006-07-18
43 Artikel
BenutzerIn
[default_avatar]
das ist der code für die zweite spalte

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$j=2;
push(@zweite_Zeile, "\t");
push(@zweite_Zeile, "Anzahl\n");
my $second_line = <$fh>;
@second_col = (split(/,/,$second_line));

while ($j<40)
{


#print "$second_col[$j]\n";
push(@zweite_Zeile, "\t $second_col[$j] \n");
$j=$j+2;

}
print "@zweite_Zeile";


edit pq: code-tags hinzugefügt\n\n

<!--EDIT|pq|1156152332-->
Annka
 2006-08-21 10:38
#69056 #69056
User since
2006-07-18
43 Artikel
BenutzerIn
[default_avatar]
das ist der code für die erste spalte ...

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$i=2;
push(@erste_Zeile, "Lizenz\n");
my $first_line = <$fh>;
@first_col = (split(/,/,$first_line));
#print $first_col[4];
while ($i<40)
{
  if ($first_col[$i] !~ $wort)
  {
   #print "$first_col[$i]\n";
   push(@erste_Zeile, "$first_col[$i] \n");
   }
$i++;
}
print "@erste_Zeile";


die beiden spalten sollen so sein, dass sie nebeneinander sind ...

edit pq: code-tags hinzugefügt\n\n

<!--EDIT|pq|1156152367-->
renee
 2006-08-21 11:12
#69057 #69057
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Und wie fügst Du das in das Excel-Sheet ein?

Hast Du Dir die beiden Arrays mit CPAN:Data::Dumper angeschaut?
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/
Annka
 2006-08-21 11:20
#69058 #69058
User since
2006-07-18
43 Artikel
BenutzerIn
[default_avatar]
so ...

#--------schreiben in XLS-----------------------------

Code: (dl )
1
2
3
    open(XLS, ">>$log/test2.xls") or die $!;  #speichert
print XLS "@erste_Zeile";
print XLS "@zweite_Zeile";



ich bin ein völliger neuling in perl programmierung und hab keine ahnung was man alles machen kann ... weiß also gar nicht was ein data::dumper ist ...

edit pq: code-tags hinzugefügt\n\n

<!--EDIT|pq|1156152403-->
renee
 2006-08-21 12:14
#69059 #69059
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
So einfach kann man keine Excel-Datei schreiben, da Excel ein binär-Format ist. Dafür gibt es Module wie CPAN:Win32::OLE, CPAN:Spreadsheet::SimpleExcel und CPAN:Spreadsheet::WriteExcel (siehe auch diesen Thread).

Dass es nicht nebeneinander stehen bleibt liegt daran, dass Du Newlines (\n) anhängst, wenn Du Daten in das Array pushst.
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/
Annka
 2006-08-21 12:42
#69060 #69060
User since
2006-07-18
43 Artikel
BenutzerIn
[default_avatar]
wenn ich aber keine \n anhänge, dann steht alles in einer zeile.
ich habe auchs hcon versucht sie mit chomp zu entfernen. aber das geht auch nicht. dann stehen alle daten in einer zeile.

gibt es noch eine andere möglichkeit sie nebeneinander anzuordnen
renee
 2006-08-21 12:53
#69061 #69061
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Was zu einer Zeile gehört, soll doch auch in einer Zeile stehen...

Wenn, dann solltest Du diesen Teil ändern:
Code: (dl )
1
2
3
 open(XLS, ">>$log/test2.xls") or die $!;  #speichert
print XLS "@erste_Zeile";
print XLS "@zweite_Zeile";


das sollte dann so heißen:
Code: (dl )
1
2
3
 open(XLS, ">>$log/test2.dat") or die $!;  #speichert
print XLS "@erste_Zeile\n";
print XLS "@zweite_Zeile\n";


Vorausgesetzt es passt wie Du Deine Zeilen zusammensuchst.

Zu Dumper: Du solltest mal folgendes machen:
Code: (dl )
1
2
3
use Data::Dumper;

print Dumper(\@erste_Zeile);
. Dann siehst Du, ob im Array auch wirklich das drinsteht was Du denkst.
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/
Annka
 2006-08-21 13:04
#69062 #69062
User since
2006-07-18
43 Artikel
BenutzerIn
[default_avatar]
also irgendwie is es komisch. mit dem dumper seh ich noch so kommas vor meinen daten ....

das mit dem \n funktioniert leider auch nicht :(
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2006-08-21 10:22.