Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. getExcelFile: function() {
  2. testJson = validation_data;
  3. testTypes = {
  4. "name": "String",
  5. "city": "String",
  6. "country": "String",
  7. "birthdate": "String",
  8. "amount": "Number"
  9. };
  10.  
  11. emitXmlHeader = function() {
  12. return '<?xml version="1.0"?>n' +
  13. '<ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">n' +
  14. '<ss:Worksheet ss:Name="Sheet1">n' +
  15. '<ss:Table>nn';
  16. };
  17.  
  18. emitXmlFooter = function() {
  19. return 'n</ss:Table>n' +
  20. '</ss:Worksheet>n' +
  21. '</ss:Workbook>n';
  22. };
  23.  
  24. jsonToSsXml = function(jsonObject) {
  25. var row;
  26. var col;
  27. var xml;
  28. var data = typeof jsonObject != "object"
  29. ? JSON.parse(jsonObject)
  30. : jsonObject;
  31.  
  32. xml = emitXmlHeader();
  33.  
  34. for (row = 0; row < data.length; row++) {
  35. xml += '<ss:Row>n';
  36.  
  37. for (col in data[row]) {
  38. xml += ' <ss:Cell>n';
  39. xml += ' <ss:Data ss:Type="' + testTypes[col] + '">';
  40. xml += data[row][col] + '</ss:Data>n';
  41. xml += ' </ss:Cell>n';
  42. }
  43.  
  44. xml += '</ss:Row>n';
  45. }
  46.  
  47. xml += emitXmlFooter();
  48. return xml;
  49. };
  50. download = function(content, filename, contentType) {
  51. if (!contentType)
  52. contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
  53. var a = document.getElementById('test');
  54. var blob = new Blob([content], {
  55. 'type': contentType
  56. });
  57. a.href = window.URL.createObjectURL(blob);
  58. a.download = filename;
  59. };
  60.  
  61. download(jsonToSsXml(testJson), 'validation_data.xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement