JQuery export to excel IE не работает

253
26 апреля 2017, 11:25

Подскажите как решить проблему выгрузки из IE версии 10+? Код здесь

http://jsfiddle.net/terryyounghk/KPEGU/

$(document).ready(function () { 
 
    function exportTableToCSV($table, filename) { 
 
        var $rows = $table.find('tr:has(td)'), 
 
            // Temporary delimiter characters unlikely to be typed by keyboard 
            // This is to avoid accidentally splitting the actual contents 
            tmpColDelim = String.fromCharCode(11), // vertical tab character 
            tmpRowDelim = String.fromCharCode(0), // null character 
 
            // actual delimiter characters for CSV format 
            colDelim = '","', 
            rowDelim = '"\r\n"', 
 
            // Grab text from table into CSV formatted string 
            csv = '"' + $rows.map(function (i, row) { 
                var $row = $(row), 
                    $cols = $row.find('td'); 
 
                return $cols.map(function (j, col) { 
                    var $col = $(col), 
                        text = $col.text(); 
 
                    return text.replace(/"/g, '""'); // escape double quotes 
 
                }).get().join(tmpColDelim); 
 
            }).get().join(tmpRowDelim) 
                .split(tmpRowDelim).join(rowDelim) 
                .split(tmpColDelim).join(colDelim) + '"'; 
 
				// Deliberate 'false', see comment below 
        if (false && window.navigator.msSaveBlob) { 
 
						var blob = new Blob([decodeURIComponent(csv)], { 
	              type: 'text/csv;charset=utf8' 
            }); 
             
            // Crashes in IE 10, IE 11 and Microsoft Edge 
            // Hence, the deliberate 'false' 
            // This is here just for completeness 
            // Remove the 'false' at your own risk 
            window.navigator.msSaveBlob(blob, filename); 
             
        } else if (window.Blob && window.URL) { 
						// HTML5 Blob         
            var blob = new Blob([csv], { type: 'text/csv;charset=utf8' }); 
            var csvUrl = URL.createObjectURL(blob); 
 
            $(this) 
            		.attr({ 
                		'download': filename, 
                		'href': csvUrl 
		            }); 
				} else { 
            // Data URI 
            var csvData = 'data:application/csv;charset=utf-8,' + encodeURIComponent(csv); 
 
						$(this) 
                .attr({ 
               		  'download': filename, 
                    'href': csvData, 
                    'target': '_blank' 
            		}); 
        } 
    } 
 
    // This must be a hyperlink 
    $(".export").on('click', function (event) { 
        // CSV 
        var args = [$('#dvData>table'), 'export.csv']; 
         
        exportTableToCSV.apply(this, args); 
         
        // If CSV, don't do event.preventDefault() or return false 
        // We actually need this to be a typical hyperlink 
    }); 
});
a.export, a.export:visited { 
    display: inline-block; 
    text-decoration: none; 
    color:#000; 
    background-color:#ddd; 
    border: 1px solid #ccc; 
    padding:8px; 
}
<div> 
Demo for StackOverflow Answer to the question: <a href="http://stackoverflow.com/questions/16078544/export-to-csv-using-jquery-and-html" target="_blank">Export to CSV using jQuery and html</a> 
</div> 
 
<hr> 
 
<a href="#" class="export">Export Table data into Excel</a> 
 
<div id="dvData"> 
    <table> 
        <tr> 
            <th>Column One</th> 
            <th>Column Two</th> 
            <th>Column Three</th> 
        </tr> 
        <tr> 
            <td>row1 Col1</td> 
            <td>row1 Col2</td> 
            <td>row1 Col3</td> 
        </tr> 
        <tr> 
            <td>row2 Col1</td> 
            <td>row2 Col2</td> 
            <td>row2 Col3</td> 
        </tr> 
        <tr> 
            <td>row3 Col1</td> 
            <td>row3 Col2</td> 
            <td>row3 Col3</td> 
        </tr> 
        <tr> 
            <td>row4 'Col1'</td> 
            <td>row4 'Col2'</td> 
            <td>row4 'Col3'</td> 
        </tr> 
        <tr> 
            <td>row5 &quot;Col1&quot;</td> 
            <td>row5 &quot;Col2&quot;</td> 
            <td>row5 &quot;Col3&quot;</td> 
        </tr> 
        <tr> 
            <td>row6 "Col1"</td> 
            <td>row6 "Col2"</td> 
            <td>row6 "Col3"</td> 
        </tr> 
    </table> 
</div>

READ ALSO
Как работать с JSON?

Как работать с JSON?

Подскажите пожалуйста новичку как сохранять и читать данные в формате JSON, тк

197
Как удалить дубли в CSS?

Как удалить дубли в CSS?

Есть огромный файл 300 кб в CSSИ в нем обнаруживаются перемешанные дубли стилей

483
Непонятное поведение LESS2CSS в Sublime Text 3 (less2css error: [WinError 2] Не удается найти указанный файл)

Непонятное поведение LESS2CSS в Sublime Text 3 (less2css error: [WinError 2] Не удается найти указанный файл)

Приветствую товарищиЗанялся освоением LESS и не очень удачно

1026