Почему Excel иногда ставит $ на имя листа?
Я нашел иногда, но не всегда, Excel ставит $
в конце имени листа, но это не видно в Excel, только при попытке импортировать его в SQL Server с использованием C#. Я столкнулся с рядом различных сценариев с этим.
- Он покидает исходный лист, но также создает второй пустой "скрытый" лист с
$
в конце. - Существует только 1 рабочий лист, в котором есть данные, но
$
'добавляется к имени. - Оригинальный лист находится там с
$
и есть еще одна копия с$_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