Javascript to csv export encoding issue

前端 未结 8 1373
Happy的楠姐
Happy的楠姐 2020-11-29 00:33

I need to export javascript array to excel file and download it I\'m doing it in this code. data is a javascript object array.

var csvContent = \"data:t         


        
8条回答
  •  旧巷少年郎
    2020-11-29 01:20

    somehow found Tab-Separated-CSV with utf-16le encoding with BOM works on WIN/MAC Excel

    followed b4stien's answer but make a little difference to archive:

    var csvContent = 'éà; ça; 12\nà@€; çï; 13',
        textEncoder = new TextEncoder('utf-16le');
    var csvContentEncoded = textEncoder.encode([csvContent]);
    var bom = new Uint8Array([0xFF, 0xFE]);
    var out = new Uint8Array( bom.byteLength + csvContentEncoded.byteLength );
    out.set( bom , 0 );
    out.set( csvContentEncoded, bom.byteLength );
    var blob = new Blob([out]);
    saveAs(blob, 'some-data.csv');
    

    with Linux /usr/bin/file tests:

    Little-endian UTF-16 Unicode text, with very long lines, with CRLF line terminators
    

提交回复
热议问题