Почему Excel иногда ставит $ на имя листа?

Я нашел иногда, но не всегда, Excel ставит $ в конце имени листа, но это не видно в Excel, только при попытке импортировать его в SQL Server с использованием C#. Я столкнулся с рядом различных сценариев с этим.

  1. Он покидает исходный лист, но также создает второй пустой "скрытый" лист с $ в конце.
  2. Существует только 1 рабочий лист, в котором есть данные, но$'добавляется к имени.
  3. Оригинальный лист находится там с $ и есть еще одна копия с $_filteredDatabase прилагается. (Я смог найти это _filteredDatabase где Excel хранит "отфильтрованные" данные.)

Причина, по которой я спрашиваю, в прошлом, я был в состоянии сказать моему приложению импортировать, если есть только 1 рабочий лист или если он не заканчивается $, Однако было несколько раз, когда я заканчивал с "worksheet$"а"worksheet$_".

Так что мне просто интересно, если кто-нибудь знает, что $ это или почему / когда оно добавляется?

2 ответа

Когда вы используете Excel Source - Превосходный источник извлекает данные из рабочих таблиц или диапазонов в рабочих книгах Microsoft Excel. - SQL Server Books-Online сообщает:

Важный:
В Excel рабочий лист или диапазон является эквивалентом таблицы или представления. В списке доступных таблиц в редакторах исходного и конечного Excel отображаются существующие рабочие листы (обозначенные $ знак, добавленный к названию листа, такой как Sheet1$) и именованные диапазоны (определяемые по отсутствию $ знак, такой как MyRange).

или же

Источники данных
Источником данных в книге Excel может быть лист, к которому $ знак должен быть добавлен (например, Sheet1$) или именованный диапазон (например, MyRange). В операторе SQL имя листа должно быть разделено (например, [Sheet1$]), чтобы избежать синтаксической ошибки, вызванной $ знак. Построитель запросов автоматически добавляет эти разделители. Когда вы указываете лист или диапазон, драйвер считывает непрерывный блок ячеек, начиная с первой непустой ячейки в верхнем левом углу листа или диапазона. Поэтому в исходных данных не может быть пустых строк или пустой строки между строками заголовка или заголовка и строками данных.

Это означает, что строка или столбец, следующий за знаком доллара, привязаны или являются абсолютными на указанном листе.

например: [Sheet1$A1:B4] означает обращение к конкретному диапазону из листа, если вы хотите получить диапазон данных, который нужно предоставить, как указано выше.

Пример 1: [Sheet1$] означает ссылку на все строки и столбцы из Sheet1

Другие вопросы по тегам