У меня есть приложение, которое может импортировать данные из электронной таблицы Excel (.xls). Эта электронная таблица, в свою очередь, импортируется из файла CSV, который предоставляет шаблон для данных. Затем пользователь заполняет шаблон, сохраняет его в виде файла .xls и импортирует его в приложение.
Моя проблема заключается в том, что приложение, которое импортирует электронную таблицу, ожидает лист с именем Лист1 , но когда пользователь открывает шаблон CSV, Excel «импортирует» данные CSV в автоматически созданный рабочий лист с тем же именем, что и файл CSV. Пример:
- Приложение X создает файл шаблона с именем January.csv
- Пользователь открывает January.csv в Excel, который создает рабочий лист с именем января. Они заполняют эту таблицу и сохраняют книгу как MonthlyData.xls
- Приложение Y пытается импортировать данные из Лист1 в MonthlyData.xls и терпит неудачу.
Я хотел бы найти способ сообщить Excel, что при открытии файла CSV он должен автоматически переименовать первый созданный лист в Лист1 и не присваивайте этому листу то же имя, что и файл CSV, как это делается по умолчанию. Какие средства в моем распоряжении для этого?
Ответы:
В CSV-файле нет такого понятия, как «рабочий лист»; следовательно, переименовать нечего. Положитесь на поведение, которое вы объяснили выше, и передайте имя файла от исходного шага к последнему шагу, чтобы процесс импорта XLS на шаге 3 знал, что ожидается объект с именем original_filename с шага 1.
CSV - это просто текстовый файл со значениями, разделенными запятыми, нет способа определить рабочий лист в файле CSV.
источник