Företag använder ofta Excel för att lagra tabeller med data . Ofta kommer dessa företag att hitta en användning för att data som kräver omvandla den till ett annat format för andra program att använda . Men Excel-filer inte är avsedda att läsas av andra program . De uppgifter som de innehåller måste omvandlas till ett gemensamt format , såsom Kommaavgränsade värden ( CSV ) -filer . För personer med en massa Excel-filer att konvertera , är den vanliga processen besvärlig . Så Perl förmåga att hantera databehandling uppgifter snabbt och enkelt komma väl till hands i det här fallet . Saker du behöver
Perl eller activestate Perl
CPAN om du har Perl
PPM om du har activestate Perl
Visa fler instruktioner , Skapa din CSV -fil
1
Installera Perl module " kalkylblad :: parseexcel " på ditt system . Detta är den standard Perl-modul för att läsa data från Excel-filer . Processen för installation beror på ditt system typ
p Om du har activestate Perl ( dvs. Perl för Windows . ) : .
Öppna en kommandotolk . Gå till " bin " undermapp i mappen där din activestate Perl -programmet ligger . Om du inte vet var det är , använder du Windows sökfunktionen för att hitta " activestate " och gör en anteckning om " sökvägen " till activestate Perl mappen . Gå sedan till din Kommandotolken och skriv " DIR " följt av den sökväg och tryck sedan på Retur . Skriv sedan " DIR bin " och tryck på Retur .
Type " ppm " och tryck på Retur . Viss text visas och sedan kommer du att kunna skriva kommandon igen . Typ " install kalkylblad :: parseexcel " och tryck på Retur . Lite mer text kommer att visas och sedan installationen kommer att slutföras
p Om du har standard Perl : .
Öppna Kommandotolken eller terminalfönster . I Mac OS X , är det program som heter Terminal . Skriv följande :
perl - MCPAN - e install Kalkylblad :: parseexcel
Tryck på Retur . En hel del text visas och sedan installationen kommer att vara komplett .
2
Gör din Excel-fil tillgänglig för din Perl-skript . Gör en kopia av Excel- filen med namnet " xls_test.xls " för denna tutorial och flytta den till den mapp där din Perl-skript ligger .
3
Ladda din Excel- fil till din perl script med denna kod :
använda kalkylblad :: parseexcel ,
min $ xlsparser = kalkylblad :: parseexcel - > ny ( ) ;
min $ xlsbook = $ parser - > parse ( ' xsl_test.xls ');
min $ xls = $ xls - > kalkylblad ( 0 ) ;
nu har vi ett objekt ( " $ xls " ) som håller data från det första kalkylbladet i vår Excel-fil . Om du vill hämta data från ett annat kalkylblad , byt noll ( " 0 " ) i den fjärde raden med antalet kalkylbladet minus ett . Till exempel är det första kalkylbladet partens nummer noll ( " 0 " ) , är den tredje kalkylbladet nummer två ( " 2 " ) och så vidare. Om din Excel-fil endast har ett kalkylblad , använda koden som - är .
4
reda på vad kolumner och rader kalkylbladet har . Använd denna kod :
min ( $ row_first , $ row_last ) = $ xls - > row_range ( ) ;
min ( $ col_first , $ col_last ) = $ xls - > col_range ( ) ;
5
Skapa en variabel för att lagra CSV-data . Använd denna kod :
min $ csv = '' ;
6
Skapa CSV-data . Använd denna kod för att göra det :
för min $ rad ( $ row_first .. $ row_last ) { # Steg igenom varje rad
för min $ col ( $ col_first .. $ col_last ) { # Steg igenom varje kolumn
min $ cell = $ xls - > get_cell ( $ rad , $ col ) , # Få aktuell cell
nästa såvida $ cell ,
$ csv = $ cell - > oformaterad ( ) , . # Få cellens rådata - inga gränsar färgar eller något liknande
if ( $ col == $ col_last ) {
$ csv = " \\ n "; . . # Gör en ny rad i slutet av raden
} else {
$ csv = " , " , " Lägg till ett kommatecken mellan varje objekt
}
}
}
7
Spara data i $ csv till en fil med Perl akt - skrivande funktioner . Kontrollera ditt filnamnet slutar på " . CSV " för tydlighetens skull .