所以是的,已经有很多关于这个的问题了,共识就是用“双引号”包裹字符串,并且应该忽略逗号,这就是它到处说的。但我确实这样做了,但它不起作用。
const handleDownload = useCallback(async (rows) => {
const rowsInCsvFormat = csvMaker(rows);
console.log("<---rowsInCsvFormat", rowsInCsvFormat);
const blob = new Blob(
[ //For simplicity sake I'm hard coding the data
"egular theodolites x-ray. pending, regular dugouts instead of the bold, silent fo",
],
{ type: "text/csv" }
);
const url = window.URL.createObjectURL(blob);
const a = document.createElement("a");
a.setAttribute("href", url);
a.setAttribute("download", "result.csv");
a.click();
}, []);
我想把它放在一个单元格中。我在这里缺少什么?
“我在这里错过了什么?”报价。
带逗号的字段的引号。 CSV 是一种看似简单的格式,大多数人都错误地使用了它。
为了使单个单元格包含您编写的文本,CSV 必须包含
"egular theodolites x-ray. pending, regular dugouts instead of the bold, silent fo"
但是您所拥有的引号是 JavaScript 引号。文字只是
egular theodolites x-ray. pending, regular dugouts instead of the bold, silent fo
您必须编写此文字才能在文本中产生引号:
"\"egular theodolites x-ray. pending, regular dugouts instead of the bold, silent fo\""
或
'"egular theodolites x-ray. pending, regular dugouts instead of the bold, silent fo"'
或
`"egular theodolites x-ray. pending, regular dugouts instead of the bold, silent fo"`
当字符串本身包含双引号时,事情会变得更加复杂,因为 CSV 表示您应该将其加倍。