【问题标题】:Cannot parse String columns/data to Numeric while exporting Ag-Grid table to Excel using getDataAsExcel使用 getDataAsExcel 将 Ag-Grid 表导出到 Excel 时无法将字符串列/数据解析为数字
【发布时间】:2021-02-09 20:26:19
【问题描述】:

我正在尝试使用 API getDataAsExcelag-grid 表中的数据导出到 excel 中。

我只有一列应该具有 string 值,而所有其他列都是 numeric 并显示在我的 ag-grid 表中,例如 "6,999,500 "

但是当我尝试导出它时,我的所有列都有“General”或String格式。

例如,如果我的 ag-grid 看起来像这样:

表格

名称 |工资 |费用

约翰 | 10,000 | 14

丹尼 | 50 | 1,000

在哪里, 名称 -> 字符串

薪水 -> 数字

费用 -> 数字

奇怪的是,当我将此表导出到 excel 时,所有值都保存为“String”,在这种情况下除了 14 和 50。 我注意到没有 ',' 分隔符 的数字(如这里的 14、50)被导出为数字和 10,000 和 1,000(有 NO ',' 分隔符)导出为字符串

我使用了 parseInt() 函数如:

如果值 = 10,000

parseInt(value.replace(/,/g, ''));

我用它的解析值替换了 10,000,但运气不好,因为它仍然将它打印为字符串。

如何更改完整列的格式或至少单独解析这些值?

任何帮助将不胜感激!

【问题讨论】:

    标签: angular typescript angular6 ag-grid export-to-excel


    【解决方案1】:

    您必须定义 dataType explicitly 才能导出 excel。

    var columnDef = {
        ...,
        cellClass: 'itsANumber'
    };
    
    ExcelStyles: [
            {
                id: "itsANumber",
                dataType: 'number', // can use string, number, boolean, dateTime
            },
    
    

    dataType(可选):(字符串、数字、布尔值、日期时间、错误)之一。在大多数情况下,这不是必需的,因为该值是根据天气猜测的,单元格内容是否为数字。如果您想修复单元格的类型,这将很有帮助。 IE。如果您的单元格内容为 003,则此单元格将默认解释为数字,在 Excel 中,它将显示为 3。但如果您想保留原始格式,可以通过将此属性设置为字符串来实现。

    【讨论】:

      猜你喜欢
      • 2018-12-21
      • 2021-05-07
      • 2019-12-10
      • 2017-10-17
      • 2022-08-11
      • 2018-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多