【发布时间】:2022-01-29 17:33:52
【问题描述】:
我对 JS 和 JSX 还很陌生,并且在学习过程中不断学习。
我制作了一个按钮来从 db2 表中下载包含 {data} 和 {columns} 的 CSV 文件。
当我在页面本身上输出此数据时,电话号码看起来很正常:
199028675309.
但当我尝试使用 <CSVLink/> 将其下载为 CSV 文件时,电话号码会在 CSV 文件中转换为科学记数法,如下所示:1.99029E+11
我知道我需要将电话号码更改为字符串,但我尝试在标签中使用 DataType='String'。然后我尝试在下面的列中添加 DataType:'string',但这些都没有改变任何东西。
是否可以在下载文件之前更改电话号码数据类型以使数字不是科学计数法?这将如何实现?
我在下面放了一个代码sn-p:
export default function Home() {
const [data, setData] = useState([]);
const fetchData = async (e) => {
e.preventDefault();
const response = await fetch("/.../somedatabase", {
method: "POST",
headers: {
"Content-Type": "application/json"
}});
if (!response.ok) {
throw new Error(`Error: ${response.status}`);
}
console.log(response);
const responseJson = await response.json();
console.log(responseJson);
setData(responseJson);
};
const { body,validationResult } = require('express-validator');
const columns = [{
dataField: 'Calling Phone',
text: 'Calling Phone'
}, {
dataField: 'Called Phone',
text: 'Called Phone'
}];
return (
<div>
<main>
<button>
{ data.length ?
<CSVLink data={data} columns={columns} filename={'testfile'} target="_blank">
Download CSV
</CSVLink>
: null }
</button>
</main>
</div>
【问题讨论】:
标签: javascript reactjs csv jsx export-to-csv