【问题标题】:Prevent Javascript Excel Conversion from removing Leading 0防止 Javascript Excel 转换删除前导 0
【发布时间】:2021-02-15 13:44:20
【问题描述】:

将对象转换为 Excel 格式后,最终输出会从“应用程序 ID”列中删除前导 0。

显示应用程序 ID 的图像,其中这些值以 前导 0 开头(即 0799、0791)

这里是示例代码(修剪到最小)

exportCSV() {
  let csvContent = "data:text/csv;charset=utf-8,";
  let universalBOM = "\uFEFF";
    let dataArray = this.MyFacilitiesData.map(item => {
      const { applicationId } = item
      const extract = { "Application ID": applicationId}
      return extract;
    });
    const array = [Object.keys(dataArray[0])].concat(dataArray);
    let converted = universalBOM +
                    array.map(content => Object.values(content).toString()).join("\n");
    csvContent += converted + "\r\n";
    var encodedUri = encodeURI(csvContent);
 }

我使用 encodeUri 将其下载为 excel。如何防止删除前导 0?

【问题讨论】:

  • 在值周围加引号?
  • applicationId的数据类型是什么?您是否尝试将值转换为字符串:applicationId.toString()
  • @Shuvo applicationID 正在从 API 获取,是的,它已经以字符串形式出现了。
  • @HereticMonkey 是的,我试过了,没有运气

标签: javascript


【解决方案1】:

Excel 喜欢从数字中删除前导零。您可以通过在数字开头添加撇号来防止这种情况。示例:

'0799

我认为你可以这样做:

const extract = { "Application ID": `'${applicationId}`}

【讨论】:

    【解决方案2】:

    我通过添加修复了错误

    applicationId + String.fromCharCode(8203)
    

    修复后:

    参考: https://stackoverflow.com/a/55516747/9536402

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多