gpt4 book ai didi

javascript - 如何在 react 中导出c​​sv对象

转载 作者:行者123 更新时间:2023-12-05 00:47:29 36 4
gpt4 key购买 nike

我想知道是否有任何方法可以使用 react 在我的网页上单击 EXPORT 按钮下载 csv 文件。

这是我现在在组件下的内容 -

<div>
<Button variant="contained"
size="small"
onClick={this.handleExport}>
<SaveIcon label="Export" />
Export
</Button>
</div>

其中,handleExport 使用来自后端的 JSON 数据生成一个 csv 文件。

我曾尝试使用 react-csv、react-csv-downloader 包,但它们都不适合我。

有什么方法可以下载 csv 文件 onClick 吗?示例代码将不胜感激。

谢谢!

最佳答案

我已经实现了这个逻辑。代码非常不言自明。

    export function exportCSVFile(headers, items, fileTitle) {
if (headers) {
items.unshift(headers)
}

// Convert Object to JSON
var jsonObject = JSON.stringify(items)

var csv = convertToCSV(jsonObject)

var exportedFilename = fileTitle + '.csv' || 'export.csv'

var blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' })
if (navigator.msSaveBlob) { // IE 10+
navigator.msSaveBlob(blob, exportedFilename)
} else {
var link = document.createElement('a')
if (link.download !== undefined) { // feature detection
// Browsers that support HTML5 download attribute
var url = URL.createObjectURL(blob)
link.setAttribute('href', url)
link.setAttribute('download', exportedFilename)
link.style.visibility = 'hidden'
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
}
}
}

关于javascript - 如何在 react 中导出c​​sv对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56892995/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com