Företag använder ofta Excel för att lagra tabeller av data . Ofta kommer dessa företag finna en användning för dessa uppgifter 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 de innehåller måste omvandlas till ett gemensamt format , t. ex. Kommaavgränsade värden ( CSV ) -filer . För personer med mycket Excel -filer att konvertera , är den vanliga tungrodd . Så Perl förmåga att hantera databehandling uppgifter snabbt och enkelt kommer väl till pass i detta fall .
Du behöver :
Perl eller ActiveState Perl
. CPAN om du har Perl .
PPM om du har ActiveState Perl
Skapa din CSV- fil
1
Installera Perl-modul ” Spreadsheet : : parseexcel ” . på ditt system . Detta är den standard Perl modul för att läsa data från Excel-filer . Processen för installationen beror på ditt system typ
Om du har ActiveState Perl . ( dvs , Perl för Windows . ) :
Öppna en Kommandotolken . Gå till ”bin ” undermapp i mappen där ActiveState Perl program ligger . Om du inte vet var det är , använd sökfunktionen i Windows för att hitta ” ActiveState ” och gör en anteckning om ” sökvägen ” till ActiveState Perl mappen . Sedan gå till Command Prompt och skriv ” DIR ”följt av att sökvägen och tryck på Retur . Skriv sedan ” DIR bin ” och tryck på Retur .
Typ ” ppm ” och tryck på Retur . Lite text kommer att visas och då kommer du kunna skriva kommandon igen . Skriv ” installera Spreadsheet : : parseexcel ” och tryck på Retur . Några mer text kommer att visas och sedan installationen kommer att slutföras.
Om du har standard Perl :
Öppna en kommandotolk eller terminal fönster . I Mac OS X , är det program som heter Terminal . Skriv följande :
perl-MCPAN-e installera Spreadsheet : : parseexcel
Tryck på retur. En massa text kommer att visas och sedan installationen kommer att vara fullständig .
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 mappen där din Perlskript finns .
3
Ladda din Excel-fil i din Perlskript med denna kod :
använda Spreadsheet : : . parseexcel ,
min $ xlsparser=Spreadsheet : : 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 , ersätter noll ( ”0”) i fjärde raden med antalet kalkylbladet minus en . Till exempel är det första kalkylbladet nummer noll ( ” 0 ” ) , är den tredje kalkylbladet nummer två ( ”2 ” ) och så vidare . Om din Excel -fil bara har ett kalkylblad , använd koden som det är .
4 .
Ta 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 ) { # stega igenom varje rad
för min $ col ( $ col_first . . $ col_last ) { # stega igenom varje kolumn
min $ cell=$ xls-> get_cell ( $ row , $ col ) , # Få aktuella cellen
nästa såvida $ cell ,
$ csv .=$ cell-> oformaterat () ; # Få cellens rådata-ingen gräns färger eller nåt sånt
if ( $ col == $ col_last ) {
$ csv . = ” \ n ”; # Gör en ny rad i slutet av raden
} else {
$ csv .=” , ” ; ”Lägg till ett komma mellan varje post
}
}
}
7 .
Spara data i $ csv till en fil med Perl akt -writing funktioner . Se till att din filnamnet slutar på ” . csv ” för tydlighetens skull.
tips och varningar
コメント