为什么Excel电子表格中的所有文本列都以引号引起来


11

我正在尝试将一些我很少使用的Excel数据发送到数据库中。作为包含文本值的每个单元格的数据的一部分,引号引起来了:

    'PUBLIC, JOHN Q.

当我单击Excel中的单元格时,电子表格顶部的{X,check,Fx}按钮右侧的编辑框也在那里显示了前导单引号。因此,导入实用程序不会引入引号。它在Excel数据中。

这种人工制品很可能是在Excel之外的另一端创建的,但是如果您以前已经看过它,并且知道它们是来自他们在Excel中所做的事情,那么我想知道那是什么,因此我可以请他们别做 清理这些数据确实会浪费大量时间,因为有很多这样的工作表,而且我们还会得到更多。


您如何将数据导入数据库?数据库中设置的排序规则是什么?通常,将excel导入数据库需要仔细设置排序规则。您是否使用非英语语言(再次排序)。如果不是,则可能是以这种方式输入数据。
Atif Shaikh 2014年

1
前导撇号是告诉Excel该单元格应视为文本的常规方法(无论其中是否包含数字或公式)。这不是文物。他们故意插入了它
nixda 2014年

大声笑。他们使用单引号,而Excel绝不会尝试将其转换为数字(带有名称),但并未将其与前导零的成本中心代码一起使用,例如0100,Excel将在其中更改值。
mrblint 2014年

Answers:


8

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

可以通过以下方式将其删除:

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

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

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


谢谢,可是一个Arrrgh!这里是Excel。数据/文本到列必须一列一列地完成。
mrblint 2014年

CSV可能需要最少的时间。谢谢
mrblint 2014年

互联网上的最佳答案!到处都有这么多花哨和令人费解的建议。
詹姆斯

1

哇,他们在Excel 2013中进行了更改

Microsoft建议的删除隐藏的撇号的方法在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

现在链接已死:(
phuclv '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.