Advertisement
Guest User

Untitled

a guest
Mar 14th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
jQuery 2.38 KB | None | 0 0
  1. <script>
  2. jQuery.fn.table2CSV = function(options) {
  3.     var options = jQuery.extend({
  4.         separator: ';',
  5.         header: [],
  6.         delivery: 'popup' // popup, value
  7.     },
  8.     options);
  9.  
  10.     var csvData = [];
  11.     var headerArr = [];
  12.     var el = this;
  13.  
  14.     //header
  15.     var numCols = options.header.length;
  16.     var tmpRow = []; // construct header avalible array
  17.  
  18.     if (numCols > 0) {
  19.         for (var i = 0; i < numCols; i++) {
  20.             tmpRow[tmpRow.length] = formatData(options.header[i]);
  21.         }
  22.     } else {
  23.         $(el).filter(':visible').find('th').each(function() {
  24.             if ($(this).css('display') != 'none') tmpRow[tmpRow.length] = formatData($(this).html());
  25.         });
  26.     }
  27.  
  28.     row2CSV(tmpRow);
  29.  
  30.     // actual data
  31.     $(el).find('tr').each(function() {
  32.         var tmpRow = [];
  33.         $(this).filter(':visible').find('td').each(function() {
  34.             if ($(this).css('display') != 'none') tmpRow[tmpRow.length] = formatData($(this).html());
  35.         });
  36.         row2CSV(tmpRow);
  37.     });
  38.     if (options.delivery == 'popup') {
  39.         var mydata = csvData.join('\n');
  40.         return popup(mydata);
  41.     } else {
  42.         var mydata = csvData.join('\n');
  43.         return mydata;
  44.     }
  45.  
  46.     function row2CSV(tmpRow) {
  47.         var tmp = tmpRow.join('') // to remove any blank rows
  48.         // alert(tmp);
  49.         if (tmpRow.length > 0 && tmp != '') {
  50.             var mystr = tmpRow.join(options.separator);
  51.             csvData[csvData.length] = mystr;
  52.         }
  53.     }
  54.     function formatData(input) {
  55.         // replace " with “
  56.         var regexp = new RegExp(/["]/g);
  57.         var output = input.replace(regexp, "“");
  58.         //HTML
  59.         var regexp = new RegExp(/\<[^\<]+\>/g);
  60.         var output = output.replace(regexp, "");
  61.         if (output == "") return '';
  62.         return '"' + output + '"';
  63.     }
  64.     function popup(data) {
  65.         var generator = window.open('', 'csv', 'height=400,width=600');
  66.         generator.document.write('<html><head><title>CSV</title>');
  67.         generator.document.write('</head><body >');
  68.         generator.document.write('<textArea cols=70 rows=15 wrap="off" >');
  69.         generator.document.write(data);
  70.         generator.document.write('</textArea>');
  71.         generator.document.write('</body></html>');
  72.         generator.document.close();
  73.         return true;
  74.     }
  75. };
  76. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement