Мне нужно экспортировать несколько таблиц данных с некоторыми пользовательскими стилями, чтобы преуспеть.Я использую 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]; }) }