csv导出带有符号#,因为内容结束了导出

时间:2019-03-27 18:23:14

标签: javascript csv unicode ascii export-to-csv

我已经成功地将数据导出为csv,并且效果很好,直到出现#字符使导出混乱为止。 #之后,它停止了导出任何内容。当我打开文件时,可以看到它在换行,然后停止。

我已经在文本字段中添加了引号,因为需要导出像,这样的符号,效果很好。

有人可以给我一些建议,为什么开会#会给出这样的反应和解决方法?

删除#是最不需考虑的选择,它确实更希望保留我尝试将#替换为ascii #的{​​{1}},这给我带来了好运

我如何获取文字

\u0023

const getDiv = bodyCellLabelClass.querySelectorAll('div'); const innerTxt = getDiv[ 0 ].innerText; result.push(`"${innerTxt}"`); 的样本如果我result

console.log

但是当我打开csv时,它将看起来像

[""$41.67"", ""9/9/2018"", ""10/9/2018"", ""9/9/2018"", ""#111"", ""3/11/2019""] [""$41.67"", ""9/9/2018"", ""10/9/2018"", ""9/9/2018"", ""3"", ""3/11/2019""] 一无所获

这就是导出csv的样子

$41.67, 9/9/2018, 10/9/2018, 9/9/2018, '↵'

在此先感谢您的帮助和建议。

1 个答案:

答案 0 :(得分:1)

尝试使用Blob

export class ExportUtil {
    // export file, default excel
    public static spreadsheet( rows, full_filename = 'test.xls' ): any {

        let content = '';
        rows.forEach(function ( rowArray ) {
            const row = rowArray.join(',');
            content += row + '\r\n';
        });

        console.log(content, 'inside spreadsheet content');

        const blob = new Blob([ content ], { type: 'application/vnd.ms-excel;charset=utf-8;' });
        const url = URL.createObjectURL(blob);

        const link = document.createElement('a');
        link.setAttribute('href', url);
        link.setAttribute('download', `${full_filename}`);
        document.body.appendChild(link); // Required for FF

        link.click(); // This will download the data file named "my_data.csv".
    }
}
相关问题