Thread Windows Excel (4 answers)
Opened by wolfgangk at 2003-12-15 15:27

havi
 2003-12-15 15:34
#76034 #76034
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Sorry das der Code nicht dokumentiert ist!

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/usr/bin/Perl

use warnings;
use strict;

sub su_Excel($);

my $XLS_Datei = "";
$XLS_Datei = "Exceldatei.xls";

my $Text_Datei = "";
$Text_Datei = su_Excel($XLS_Datei);

# hier hast du nun die Textdatei im Zugriff und kannst ganz normal weiterarbeiten

sub su_Excel($) {

my $XLS_Datei = shift;

my $ExcelTabelle;

use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Excel';

$Win32::OLE::Warn = 3;

my $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit');

my $Book = $Excel->Workbooks->Open($XLS_Datei);
my $Sheet = $Book->Worksheets(1);

$Excel->ActiveCell->SpecialCells(xlLastCell)->Select;
my $Letzte_Zeile = $Excel->ActiveCell->Row;
my $Letzte_Spalte = $Excel->ActiveCell->Column;

my $Array = $Sheet->Range($Sheet->Cells(1,1),$Sheet->Cells($Letzte_Zeile,$Letzte_Spalte))->{'Value'};

$Book->Close;

my $Text_Datei = "Textdatei.txt";

open(TEXT, ">$Text_Datei") or die $!;

my $Zeile = "";
my $Feld = "";
foreach my $ref_Array (@$Array) {
$Zeile = "";
foreach my $ExcelTabelle (@$ref_Array) {
$Feld = $ExcelTabelle;
$Zeile .= $Feld."\t";
} # foreach
print TEXT $Zeile, "\n";
} # foreach

$Excel->Quit();

close(TEXT) or die $!;

$Text_Datei;

} # su_Excel


Viel Spass...

Gruss

View full thread Windows Excel