从 SQL 导入后 Excel 无法识别数字单元格

Posted

技术标签:

【中文标题】从 SQL 导入后 Excel 无法识别数字单元格【英文标题】:Excel does not recognize number cell after import from SQL 【发布时间】:2017-01-17 12:47:36 【问题描述】:

我有一个 SQL 表(准确地说是存储过程),它的值如下:

我在 Excel 中将此数据导入为:

Data -> From Other Sources -> From SQL -> ... 编辑连接的 SQL 语句以查看存储的 过程而不是视图/表格 -> 导入数据 -> 表格

这很好用。数据导入为:

问题是,我不能 SUMAverage(或任何其他数学函数)处理这些值!他们有问题。当我将这样的单元格复制到另一张表中时,我看到了这个:

Excel 无法将该字段识别为数字。我自然尝试过 Cell -> Format -> Number/Accounting/Whatever... 没有成功。

任何想法

编辑:

为什么以下操作不起作用:

【问题讨论】:

如果存储过程返回一个文本字符串,Excel什么也做不了。发布存储过程或至少发布它返回的字段类型 它确实是一个文本,我无法更改它,因为我在那里有“行作为列”的方法,对它们中的任何一个都没有特殊处理。有没有办法强制 Excel 将给定列格式化为数字?更新了我的问题。 为什么还要复制数据?只需在公式中按名称引用表格,无需再在报告中手动执行任何操作。 Excel 现在包括 Power Query,它允许您转换加载的数据、拆分或合并列、应用格式等 @iamdave - 我只是复制它以尝试解决问题。问题的核心是 - 我不能 pivot 围绕这些数据,因为我不能 SUM 例如,在这些记录上。 【参考方案1】:

似乎存储过程返回的是字符串字段而不是数字字段。您可以使用 Power Query 将其转换为数字,或 apply any number of transformations,例如加入其他来源、拆分列、格式化、旋转等。

Power Query 包含在 Excel 2016 中或作为 Excel 2013 的 free addin

【讨论】:

以上是关于从 SQL 导入后 Excel 无法识别数字单元格的主要内容,如果未能解决你的问题,请参考以下文章

从excel导入数据库的数据变成科学计数法怎么办 急!!!

如何让 Excel VBA 识别数字单元格?

通过 VBA 将查询从 Access 导入 Excel 并删除单个单元格

JasperReports - 导出到 Excel 时无法识别数值

java导入excel后面有空格(用了trim()去不了)

sql server使用合并单元格导入excel数据