Reactjs 在CSV中修改列数据
我从后端获得一个包含多个列的csv,但我想在将此csv导出为报告之前更改列中的数据。 今天,我使用react csv库导出报告 我要修改的列是类型。目前,她返回值产品和服务。我想展示的不是产品,而是新产品;我想展示的不是服务,而是二手产品 报告:Reactjs 在CSV中修改列数据,reactjs,Reactjs,我从后端获得一个包含多个列的csv,但我想在将此csv导出为报告之前更改列中的数据。 今天,我使用react csv库导出报告 我要修改的列是类型。目前,她返回值产品和服务。我想展示的不是产品,而是新产品;我想展示的不是服务,而是二手产品 报告: "Title","Type","Advertiser","Category" "2 plots of 15x35 - R $ 15,000.00 each&q
"Title","Type","Advertiser","Category"
"2 plots of 15x35 - R $ 15,000.00 each","product","LUIZ FABIANO DE OLIVEIRA0","Properties"
"3 Industrial machines","service","GISELE SANTANA","services"
代码:
导出默认函数exem(){
const[dataExport,setDataExport]=React.useState([]);
函数getCSV(){
要求
.get(urlGetCSV()+`&page=${page}`)
.text()
。然后(响应=>{
setDataExport(响应)
});
}
返回(
报告
)
}
如果响应是数组,则可以在调用setDataExport之前重新映射它:
常量类型映射={
“产品”:“新产品”,
“服务”:“使用过的产品”
}
。然后(响应=>{
//查找“类型”列
const headers=response[0];//假定头位于第一行
const typeColumnIndex=headers.indexOf('Type');//具有'Type'标题的列的索引
response.forEach(item=>{//遍历每一行
//从行中获取类型
常量originalType=项[typeColumnIndex];
//将其替换为相应的映射。
//如果不存在映射,请保留原始值。
项[typeColumnIndex]=类型映射[originalType]| | originalType;
})
setDataExport(响应)
});
我复制了您的答案,但我得到了错误:未处理拒绝(TypeError):response.forEach不是一个函数我的示例假设response
是一个行数组。如果您的API返回其他内容,请相应地调整代码。您能否提供console.log(响应)内容代码>给你什么?因为答案将取决于您在响应中获得的格式。
export default function exem() {
const [dataExport, setDataExport] = React.useState([]);
function getCSV() {
request
.get(urlGetCSV() + `&page=${page}`)
.text()
.then(response => {
setDataExport(response)
});
}
return (
<>
<CSVLink
data={dataExport}
filename={`report-${new Date().toLocaleString()}.csv`}
onClick={getCSV}
>
<Button>
Report
<Button.Icon>
<ReportIcon />
</Button.Icon>
</Button>
</CSVLink>
</>
)
}