hvordan man kan konvertere xls til CSV på perl

Indlæg af Dan Dejligbjerg     opdateret: 2011-10-14

Firmaer normalt bruger Excel til at gemme tabeller af data . Ofte vil disse virksomheder med at finde en anvendelse til disse data , der kræver at konvertere det til et andet format for anden software for at bruge . Men Excel -filer er ikke designet til at blive læst af andre programmer . De data, de indeholder skal konverteres til et fælles format , som f. eks semikolonseparerede værdi ( CSV ) filer . For folk med en masse Excel-filer til at konvertere , er den sædvanlige proces besværlig . Så Perl 's evne til at håndtere data-behandling opgaver hurtigt og nemt kommer i handy i denne sag .

Du skal bruge:
Perl eller Activestate Perl
. CPAN hvis du har Perl .
PPM hvis du har Activestate Perl

Opret din CSV -fil


1
Installer Perl modulet " Regneark : : ParseExcel " . på dit system . Dette er standard Perl modul til at læse data fra Excel -filer . Processen med installation afhænger af dit system type

Hvis du har Activestate Perl . ( dvs. Perl for Windows . ) :
Åbn en Kommandoprompt vindue . Gå til " bin " undermappe i den mappe, hvor dine Activestate Perl program er placeret . Hvis du ikke ved , hvor det er , skal du bruge Windows søgefunktion til at finde " Activestate "og gøre et notat om "directory vej " til Activestate Perl mappen . Så gå til din kommandopromptvinduet og skriv " DIR "efterfulgt af denne mappe stien og derefter trykke på Retur . Derefter skrive " DIR bin " og tryk på Retur .

Type " ppm " og derefter trykke på Retur . Noget tekst vises og du vil være i stand til at skrive kommandoer igen . Skriv " install Regneark : : ParseExcel " og tryk på Retur . Nogle mere tekst vises , og derefter installationen vil blive afsluttet .

Hvis du har standard Perl :
Åbn en kommandoprompt eller terminal vindue . I Mac OS X , er programmet hedder Terminal . Skriv følgende :

perl-MCPAN-e install Regneark : : ParseExcel

Tryk på Retur . En masse tekst vil dukke op og derefter installationen vil være komplet .
2 .
Gør din Excel -fil er tilgængelig for dit Perl script . Lav en kopi af den Excel-fil med navnet " xls_test. xls "for denne tutorial og flytte den ind i den mappe, hvor dine Perl script er placeret .
3
Læg Excel -fil ind i din Perl script med denne kode :

brug Regneark : : . ParseExcel ;

min $ xlsparser=Regneark : : ParseExcel-> ny ( ) ;
min $ xlsbook=$ parser-> parse ( ' xsl_test. xls ') ;

min $ xls=$ xls-> regneark ( 0 ) ;

Nu har vi et objekt ( " $ xls " ) , der holder data fra det første regneark i vores Excel -fil . Hvis du ønsker at få data fra et andet regneark , skal du udskifte nul ( "0 ") i fjerde takt med antallet af regnearket minus én. For eksempel er det første regneark nummer nul ( " 0 " ) , den tredje regnearket nummer er to ( "2 " ) og så videre . Hvis din Excel- fil kun har ¨¦t regneark , skal du bruge koden , som de er .
4 .
Find ud af , hvad kolonner og rækker dit regneark har . Brug denne kode :

min ( $ row_first , $ row_last )=$ xls-> row_range ( ) ;
min ( $ col_first , $ col_last )=$ xls-> col_range ( ) ; .
5
Opret en variabel til at gemme CSV data . Brug denne kode :

min $ csv='' ;
6 .
Opret CSV data . Brug denne kode til at gøre det :

for min $ row ( $ row_first . . $ row_last ) { # Trin gennem hver række
for min $ COL ( $ col_first . . $ col_last ) { # Trin gennem hver kolonne

min $ celle=$ xls-> get_cell ( $ row , $ col ) ; # Få den aktuelle celle
andet, medmindre $ celle ;

$ csv .=$ celle-> formateret ( ) ; # Få cellens rå data-ingen grænse farver eller noget i den retning
if ( $ col == $ col_last ) {
$ csv . = " \ n " ; # Lav en ny linje i slutningen af rækken
} else {
$ csv .=" ; " "Tilføj et komma mellem hver punkt
}

}
}
7 .
Gemme data i $ csv til en fil ved hjælp af Perl 's fil- skrivning funktioner . Sørg for at dit filnavnet ender med " . csv " for klarhed .

gode råd og advarsler


  • Excel -filer er meget mere kompliceret end CSV -filer . Dette vil arbejde for Excel -filer med en kolonneoverskrift eller ingen header række efterfulgt af rækker af data . Alt andet kræver mere kompliceret programmering .


  • Previous:hvordan man kan læse csv fil i vb Next:hvordan man åbner en postsættet



     

    Kommentarer

    Code:
    change