为什么 Excel 电子表格中的所有文本列都以单引号开头

为什么 Excel 电子表格中的所有文本列都以单引号开头

我正在尝试将一些通过 Excel 发送给我们的数据导入数据库,但我很少使用这些数据。每个包含文本值的单元格的数据中都包含一个单引号:

    'PUBLIC, JOHN Q.

当我单击 Excel 中的单元格时,电子表格顶部的编辑框(位于 {X、check、Fx} 按钮的右侧)也显示前导单引号。因此,前导引号不是由我们的导入实用程序引入的。它存在于 Excel 数据中。

这可能是他们在 Excel 之外创建的,但如果你以前见过这种情况,并且知道这是他们在 Excel 中执行的操作,我想知道那是什么,这样我就可以要求他们停止这样做。清理这些数据确实会浪费大量时间,因为这样的工作表有很多,而且我们还会得到更多。

答案1

当撇号'作为单元格中的第一个字符出现时,它对于 Excel 来说是一个特殊字符。它告诉 Excel 将字符串的其余部分视为文本。

可以通过以下方法删除:

  • 选择单元格
  • 然后菜单数据/文本到列

您也许可以编写一个宏来自动执行此操作。

或者将数据导出为 csv,然后将 csv 文件导入数据库。

答案2

哇哦,他们在 Excel 2013 中做了一些改动

微软建议删除隐藏撇号的方法在 Excel 2013 中不再起作用。我很确定它在以前的版本中起作用。

不过,这里有一个解决方法,使用暂时的多变的

Sub removePrefix()
    For Each c In UsedRange
        If c.PrefixCharacter <> vbNullString Then
            temp = c.Text
            c.Clear
            c.Value = temp
        End If
    Next
End Sub

相关内容