为什么Excel有时会在表格名上加上$?

我发现有时但并非总是如此,Excel会在工作表名称的末尾放置一个$ ,但在Excel中没有看到,只有在尝试使用C#将其导入到SQL Server时才会出现。 我遇到了许多不同的场景。

  1. 它留下原始的工作表,但也创build了第二个空的“隐藏”的工作表与$在最后。
  2. 只有一个工作表,它有数据,但' $ '被追加到名称。
  3. 原来的工作表是在那里, $是另一个$_filteredDatabase附加副本。 (我能够发现_filteredDatabase是Excel存储“过滤”数据的地方。)

我问的原因是过去我已经能够告诉我的应用程序导入,如果只有1个工作表或如果不以$结束。 然而,有几次,我已经结束了“ worksheet$ ”和“ worksheet$_ ”。

所以我只是想知道是否有人知道什么是$或为什么/何时添加?

当您使用Excel Source文件从Microsoft Excel工作簿中的工作表或范围提取数据SQL Server联机丛书说:

重要:
在Excel中,工作表或范围相当于表或视图。 Excel源和目标编辑器中的可用表的列表显示现有的工作表(由附加到工作表名称的$符号(如Sheet1$ )和已命名的范围(由缺less$符号标识,如MyRange )标识)。

要么

数据源
Excel工作簿中的数据源可以是工作表, $符号必须附加到(例如Sheet1$ )或命名范围(例如MyRange )。 在SQL语句中,必须分隔工作表的名称(例如, [Sheet1$] )以避免由$符号导致的语法错误。 查询生成器自动添加这些分隔符。 当您指定一个工作表或范围时,驱动程序读取工作表或范围左上angular的第一个非空单元格的连续块单元格。 因此,不能在源数据中包含空行,或在标题或标题行与数据行之间有空行。

这意味着美元符号之后的行或列在所提到的表格中是锚定的或绝对的。

例如:[Sheet1 $ A1:B4]是指从Sheet导入特定的范围,如果你想得到的数据范围需要像上面

示例1:[Sheet1 $]表示引用Sheet1中的所有行和列