.. highlightlang:: us .. _excel_create: excel_create ============ .. index:: excel_create .. us.tag excel_create NOTREADYGERMAN excel excel-write New550 :ref:`excel_create` erzeugt eine Excel-Datei im Format biff 12 (Excel 2007 oder neuer mit der Endung .xlsx). .. function:: oExcel = excel_create(ssFile) oExcel = excel_create(ssFile, ssTemplateFile) .. us.return **Returnwert** *oExcel* ist ein UniScript Objekt oder falls ein Fehler auftritt der Wert 0. .. us.params **Parameter** .. uparam:: ssFile *ssFile* ist der vollständige Dateiname. Falls eine Datei mit gleichen Namen bereits existiert, wird die Datei überschrieben. .. uparam:: 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 :file:`styles.xml` in die neue Datei kopiert. Jeder Stil wird über einen Index zugewiesen. Mit Hilfe der Funktion :ref:`excel_sheet_put_rows` kann dann für jede Zelle der Stil festgelegt werden. Die Beispielstildatei :file:`styles.xlsx` befindet sich im UniPlot Verzeichnis :file:`template/excel/`. Siehe Beispiel. .. us.example **Beispiel** .. image:: S:/uniplot-obj/images/excel_create-style.* .. image:: S:/uniplot-obj/images/excel_create-result.* :: 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; } .. us.history **History** .. list-table:: :header-rows: 1 * - Version - Beschreibung * - R2013.15 - Im Fehlerfall wird ein error Objekt zurück gegeben. * - 5.5.0 - Neu. .. seealso:: :ref:`uberblick-excel-dateien`, :ref:`excel_open`, :ref:`excel_sheet_create`, :ref:`excel_sheet_put_rows`, :ref:`excel_sheet_close`, :ref:`excel_close`, :ref:`excel_get_style_map` :sub:`id-469683`