Sådan skriver du en Excel-fil fra COBOL-programmet
COBOL-programmeringssprogets vigtigste styrke er dets evne til at skrive en lang række datafiler, der er nyttige til små virksomheder, herunder Microsoft Excel. Organiseringen af filen som en kommasepareret værdi, eller CSV, forenkler programmeringsopgaven. Med CSV konfigurerer du en grundlæggende filstruktur i Filafsnittet i dit COBOL-programs datadivision, og flyt derefter værdier ind i strukturen i Procedure Division. Excel åbner denne fil som en grundlæggende arbejdsbog, der indeholder enkle rækker og kolonner.
1.
Opret en Select-indgang i afsnittet Input-Output i dit COBOL-programs miljøafdeling. Dette er filens navn og hvor du vil have det placeret i harddiskens filmappe. Følgende COBOL illustrerer Select-sætningen:
MILJØAFDELING. INDGANGS-UDGANG AFSNIT. FILE-CONTROL. VÆLG EXCEL-OUTPUT-FILE ASSIGN TIL "C: \ WORKSHEET.CSV" ORGANISATION ER LINE SEQUENTIAL.
2.
Definer en post i datafivens filafdeling som en pladsholder, der har størrelsen på den række, du vil have til regnearket. Indstil regnearkets søjleværdier i Datadivisionens Arbejdsoplagringsafdeling som visningsdatatyper adskilt af kommaer. Afslut hver post med vognretur- og linjeskifttegn som i følgende eksempel:
DATA AFDELING. FIL AFSNIT. FD EXCEL-OUTPUT-FILE DATA-RECORD ER SPREADSHEET-RECORD. 01 SPREADSHEET-RECORD PIC X (14).
ARBEJDSBEHOLDSDELING. 01 WS-SPREADSHEET-ROW. 05 WS-SALES-AMOUNT PIC 999.99. 05 FILLER PIC X VALUE ', '. 05 WS-SALES-QTY PIC 99999. 05 FILLER PIC XX VALUE X'0D25 '.
Bemærk, at X'0D25 'repræsenterer en vognretur, linjefeed i hexadecimal. Disse to tegn markerer slutningen af hver post i en CSV-fil.
3.
Flyt data til dataelementerne på arbejdspladsen på 05-niveau, og flyt derefter etiketten på 01-niveauets arbejdslager til din output-fil i dit programs procedureafdeling. Skriv den rekord, du oprettede i fildefinitionen eller FD. COBOL-koden, der følger, opretter og skriver en enkelt række til din CSV-outputfil:
PROCEDURE DIVISION. OPEN UDGANG EXCEL OUTPUT-FIL. Flyt salgsværdi til WS-SALES-AMOUNT. Flyt SALG-QTY TIL WS-SALES-QTY. FLY WS-SPREADSHEET-ROW TO SPREADSHEET-RECORD. WRITE SPREADSHEET-RECORD. CLOSE EXCEL-OUTPUT-FILE.
Tip
- I procedurafdelingen skal du oprette MOVE og WRITE-sætningerne i deres eget afsnit. Ring stykket fra en loop, der udføres så mange gange som antallet af rækker i dit regneark, og luk derefter filen.