Имя листа не заканчивается символом доллара ( $ )
ОБНОВЛЕНИЕ:
Я откладываю свой вопрос.
Я получил некоторую подсказку и пропустил несколько вещей, о которых нужно упомянуть здесь.
Извините, что трачу ваше драгоценное время. Очень скоро я обновлю этот вопрос и тоже опубликую ответ, если мне это удастся.
Спасибо всем за ваше драгоценное время.
Ну, это может быть очень простой вопрос для некоторых людей здесь, но я не очень много работал в этой области и пытался искать в интернете различные комбинации ключевых слов, но не смог получить никакого результата, который имел бы отношение к моей проблеме.
Проблема: В одном из моих проектов я написал некоторый код для чтения строк данных из листа excel примерно следующим образом-
System.Data.OleDb.OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [" + SheetName + "]", con);
Он отлично работает почти для всех файлов excel, поставляемых заказчиком с нескольких лет или около того, но один из файлов не может получить строки данных. Он просто извлекает строку заголовка, а не другие строки данных. Когда я скопировал содержимое в новый файл excel, все работает нормально.
Я пошел на отладку и обнаружил, что для этого конкретного файла имя листа является просто именем (т. е. "Лист1") и не заканчивается символом доллара("$") в конце. Но для других файлов он поставляется с требуемым $ символ.
Когда я изменил код, чтобы добавить символ$, если его еще нет, код работал нормально. Все файлы находятся в одном и том же формате, т. е.,
.xlsx
Может ли кто-нибудь просветить меня на этот счет, если я упускаю здесь что-то основное?
Любая ссылка на хорошую статью/документацию также была бы полезна.
Пожалуйста, дайте мне знать, если потребуются какие-либо дополнительные подробности.
Заранее спасибо!
Что я уже пробовал:
-- Отладка, чтобы выяснить проблему, как упоминалось выше
CHill60
Где эта переменная SheetName
назначили?
У меня есть опытные пользователи, переименовывающие файл в filename.xls и ожидая, что он волшебным образом превратится в электронную таблицу Excel (!). Возможно, это просто "сломанный" файл.
Suvendu Shekhar Giri
Я получаю имена листов, используя GetOleDbSchemaTable()
Однако файл открывается правильно с помощью MS Excel.
Richard MacCutchan
Как вы получаете имя листа из файла?
Suvendu Shekhar Giri
Всем привет!
Я откладываю свой вопрос.
Я получил некоторую подсказку и пропустил несколько вещей, о которых нужно упомянуть здесь.
Извините, что трачу ваше драгоценное время. Очень скоро я обновлю этот вопрос и тоже опубликую ответ, если мне это удастся.
Спасибо всем за ваше драгоценное время.