写入 CSV 文件时如何忽略逗号

问题描述 投票:0回答:1

所以是的,已经有很多关于这个的问题了,共识就是用“双引号”包裹字符串,并且应该忽略逗号,这就是它到处说的。但我确实这样做了,但它不起作用。

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();
  }, []);

我想把它放在一个单元格中。我在这里缺少什么?

javascript csv blob export-to-csv
1个回答
0
投票

“我在这里错过了什么?”报价。

带逗号的字段的引号。 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 表示您应该将其加倍。

© www.soinside.com 2019 - 2024. All rights reserved.