So schreiben Sie eine Excel-Datei aus dem COBOL-Programm
Die Hauptstärke von COBOL ist die Fähigkeit, eine Vielzahl von Dateien zu schreiben, die für kleine Unternehmen nützlich sind, einschließlich Microsoft Excel. Das Organisieren der Datei als durch Kommas getrennte Werte (CSV) vereinfacht die Programmieraufgabe. Mit CSV richten Sie eine grundlegende Dateistruktur im Dateibereich der Data Division Ihres COBOL-Programms ein und verschieben dann Werte in die Struktur in der Procedure Division. Excel öffnet diese Datei als grundlegende Arbeitsmappe, die einfache Zeilen und Spalten enthält.
1
Erstellen Sie einen Select-Eintrag im Input-Output-Bereich der Umgebungsabteilung Ihres COBOL-Programms. Dies ist der Name der Datei und der Ort, an dem sie im Dateiverzeichnis Ihrer Festplatte gespeichert werden soll. Das folgende COBOL veranschaulicht die Select-Anweisung:
UMWELTABTEILUNG. INPUT-OUTPUT-ABSCHNITT. FILE-CONTROL. SELECT EXCEL-OUTPUT-FILE ASSIGN ZU "C: \ WORKSHEET.CSV" ORGANISATION IST LINIE SEQUENTIAL.
2
Definieren Sie einen Datensatz im Dateibereich der Datendivision als Platzhalter mit der Größe der Zeile, die Sie für die Kalkulationstabelle wünschen. Richten Sie die Spaltenwerte des Arbeitsblatts im Arbeitsbereich der Datensparte als durch Kommas getrennte Anzeigedatentypen ein. Beenden Sie jeden Datensatz mit Wagenrücklauf- und Zeilenvorschubzeichen wie im folgenden Beispiel:
DATENABTEILUNG. DATEI-ABSCHNITT. FD EXCEL-OUTPUT-FILE DATA-RECORD IST SPREADSHEET-RECORD. 01 SPREADSHEET-RECORD PIC X (14).
ARBEITSSPEICHER-ABSCHNITT. 01 WS-SPREADSHEET-REIHE. 05 WS-VERKAUFSBETRAG PIC 999.99. 05 FÜLLER PIC X WERT ', '. 05 WS-SALES-QTY PIC 99999. 05 FÜLLER PIC XX WERT X'0D25 '.
Beachten Sie, dass X'0D25 'einen Zeilenumbruch im Zeilenvorschub im Hexadezimalwert darstellt. Diese beiden Zeichen markieren das Ende jedes Datensatzes in einer CSV-Datei.
3.
Verschieben Sie Daten in die 05-Level-Arbeitsspeicherdatenelemente und verschieben Sie dann das 01-Level-Arbeitsspeicheretikett in Ihre Ausgabedatei in der Procedure Division Ihres Programms. Schreiben Sie den von Ihnen erstellten Datensatz in die Dateidefinition oder in FD. Der folgende COBOL-Code erstellt eine einzige Zeile in Ihre CSV-Ausgabedatei:
VERFAHRENSABTEILUNG. OPEN OUTPUT EXCEL-OUTPUT-DATEI. UMSATZWERT ZUM WS-SALES-AMOUNT. BEWERBEN SIE DIE VERKÄUFER-MENGE ZUR WS-SALES-QTY. MOVE WS-SPREADSHEET-ROW ZUM SPREADSHEET-RECORD. SPREADSHEET-RECORD SCHREIBEN. EXCEL-OUTPUT-DATEI SCHLIESSEN.
Spitze
- Richten Sie in der Procedure Division die Anweisungen MOVE und WRITE in einem eigenen Abschnitt ein. Rufen Sie den Absatz aus einer Schleife auf, die so oft wie die Anzahl der Zeilen in Ihrer Tabelle ausgeführt wird, und schließen Sie dann die Datei.