首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以符号#作为内容的csv导出结束导出

以符号#作为内容的csv导出结束导出
EN

Stack Overflow用户
提问于 2019-03-28 02:23:14
回答 1查看 54关注 0票数 1

我已经成功地将我的数据导出为csv,它工作得很好,直到有一个#字符搞砸了导出。它停止了导出#之后的任何内容。当我打开文件时,我可以看到它给出了一个换行符,然后就停止了。

我已经在文本字段中添加了引号,因为需要导出符号,比如,,这很好用。

谁能给我一些建议,为什么遇到#会有这样的反应和解决方法?

删除#是最不需要考虑的选项,我真的更喜欢保留我尝试将#替换为ascii \u0023#,这给我带来了不便

如何获取文本

代码语言:javascript
运行
复制
const getDiv = bodyCellLabelClass.querySelectorAll('div');
const innerTxt = getDiv[ 0 ].innerText;
result.push(`"${innerTxt}"`);

如果我使用console.logresult的示例将如下所示

代码语言:javascript
运行
复制
[""$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, '↵' nothing after

这是导出csv的外观

代码语言:javascript
运行
复制
export class ExportUtil {
    // export file, default excel
    public static spreadsheet( rows, full_filename = 'test.xls' ): any {

        let content = `data:application/vnd.ms-excel;charset=utf-8;`;
        rows.forEach(function ( rowArray ) {
            const row = rowArray.join(',');
            content += row + '\r\n';
        });

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

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

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

提前感谢您的帮助和建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-28 07:27:52

尝试使用Blob

代码语言:javascript
运行
复制
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".
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55384151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档