excel_create

excel_create erzeugt eine Excel-Datei im Format biff 12 (Excel 2007 oder neuer mit der Endung .xlsx).

oExcel = excel_create(ssFile)
oExcel = excel_create(ssFile, ssTemplateFile)

Returnwert

oExcel ist ein UniScript Objekt oder falls ein Fehler auftritt der Wert 0.

Parameter

ssFile

ssFile ist der vollständige Dateiname. Falls eine Datei mit gleichen Namen bereits existiert, wird die Datei überschrieben.

ssTemplateFile

ssTemplateFile ist der vollständige Dateiname einer XLSX-Datei. Die Template-Datei ist eine Standard-Excel-Datei, die mit Excel 2007 erzeugt werden kann. Aus der Vorlage wird die Stiltabelle styles.xml in die neue Datei kopiert. Jeder Stil wird über einen Index zugewiesen. Mit Hilfe der Funktion excel_sheet_put_rows kann dann für jede Zelle der Stil festgelegt werden. Die Beispielstildatei styles.xlsx befindet sich im UniPlot Verzeichnis template/excel/. Siehe Beispiel.

Beispiel

../../_images/excel_create-style.png ../../_images/excel_create-result.png
def test_excel_write()
{
    smData = ["Speed", "Torque";
              "rpm", "Nm"];
    rmData = [1000.0, 10.0;
              2000.0, 20.0;
              3000.0, 30.0;
              4000.0, 40.0;
              5000.0, 50.0];
    ssExcelFile = GetSaveFileName("c:\test.xlsx", "Excel 2007 File|*.xlsx*|")
    if (ssExcelFile == "") {
        return;
    }
    ssStyleFile = GetProfileString_Policy("ExcelExport", "StyleTemplate", ..
                    GetRootDirectory() + "template/excel/styles.xlsx");
    hMap = excel_get_style_map(ssStyleFile);
    styNumber = excel_get_style_index(hMap, "0.0000");
    styHeader = excel_get_style_index(hMap, "Channelnames");
    MapDestroy(hMap);
    oExcel = excel_create(ssExcelFile, ssStyleFile);
    if (type(oExcel) == "error") {
        MessageBoxError("Excel-Export\n\n%s\n\nFile: %s", oExcel.message, ssExcelFile);
        return FALSE;
    }
    oSheet = excel_sheet_create(oExcel, "Data1", nr(smData) + nr(rmData), nc(smData));
    n = excel_sheet_put_rows(oSheet, smData, zeros(size(smData)) + styHeader);
    if (type(n) == "error") {
        MessageBoxError("Excel-Export\n\n%s\n\nFile: %s", n.message, ssExcelFile);
        return FALSE;
    }
    n = excel_sheet_put_rows(oSheet, rmData, zeros(size(rmData)) + styNumber);
    if (type(n) == "error") {
        MessageBoxError("Excel-Export\n\n%s\n\nFile: %s", n.message, ssExcelFile);
        return FALSE;
    }
    excel_sheet_close(oSheet);
    excel_close(oExcel);
    ShellExecute(ssExcelFile);
    return TRUE;
}

History

Version Beschreibung
R2013.15 Im Fehlerfall wird ein error Objekt zurück gegeben.
5.5.0 Neu.

id-469683