Как встраивать изображения в книгу XML с помощью jquery? - PullRequest
0 голосов
/ 14 мая 2019

Мне нужно экспортировать несколько таблиц данных с некоторыми пользовательскими стилями, чтобы преуспеть.Я использую XML книгу и JQuery, чтобы сделать.Таблица успешно экспортируется, но изображения для экспорта.

Как вставить изображения в книгу xml

 var uri = 'data:application/vnd.ms-excel;base64,'
        , tmplWorkbookXML = '<?xml version="1.0"?><?mso-application progid="Excel.Sheet"?><Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">'
            + '<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"><Author>Axel Richter</Author><Created>{created}</Created></DocumentProperties>'
            + '<Styles>'
            + '<Style xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" ss:ID="s1">'
            + '<Alignment ss:Vertical="Center" ss:WrapText="1"/>'
            + '<Borders>'
            + '<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>'
            + '<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>'
            + '<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>'
            + '<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>'
            + '</Borders>'
            + '<Font xmlns:x="urn:schemas-microsoft-com:office:excel" ss:FontName="Calibri" x:Family="Swiss" ss:Size="10"/>'
            + '</Style>'
            + '<Style ss:ID="s2">'
            + '<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>'
            + '<Borders>'
            + '<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>'
            + '<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>'
            + '<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>'
            + '<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>'
            + '</Borders>'
            + '<Font xmlns:x="urn:schemas-microsoft-com:office:excel" ss:Color="#FFFFFF" ss:FontName="Calibri" x:Family="Swiss" ss:Size="12" ss:Bold="1"/>'
            + '<Interior ss:Color="#FF0000" ss:Pattern="Solid" />'
            + '</Style>'
            + '<Style xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" ss:ID="s3">'
            + '<Alignment ss:Vertical="Center" ss:WrapText="1"/>'
            + '<Borders>'
            + '<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>'
            + '<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>'
            + '<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>'
            + '<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>'
            + '</Borders>'
            + '<Font xmlns:x="urn:schemas-microsoft-com:office:excel" ss:Color="#FFFFFF" ss:FontName="Calibri" x:Family="Swiss" ss:Size="10" ss:Bold="1"/>'
            + '<Interior ss:Color="#948a54" ss:Pattern="Solid" />'
            + '</Style>'
            + '</Styles>'
            + '{worksheets}</Workbook>'
        , tmplWorksheetXML = '<Worksheet ss:Name="{nameWS}"><Table>{columns}{rows}</Table></Worksheet>'
        , tmplCellXML = '<Cell {attributeMergeStyle} {attributeStyleID} {attributeFormula}><Data ss:Type="{nameType}">{data}</Data></Cell>'
        , base64 = function (s) { return window.btoa(unescape(encodeURIComponent(s))) }
        , format = function (s, c) { return s.replace(/{(\w+)}/g, function (m, p) { return c[p]; }) }
...