Автоматически переименовывать рабочий лист, созданный для файла CSV, импортированного в Excel 2010, в Sheet1

1

У меня есть приложение, которое может импортировать данные из электронной таблицы Excel (.xls). Эта электронная таблица, в свою очередь, импортируется из файла CSV, который предоставляет шаблон для данных. Затем пользователь заполняет шаблон, сохраняет его в виде файла .xls и импортирует его в приложение.

Моя проблема заключается в том, что приложение, которое импортирует электронную таблицу, ожидает лист с именем Лист1 , но когда пользователь открывает шаблон CSV, Excel «импортирует» данные CSV в автоматически созданный рабочий лист с тем же именем, что и файл CSV. Пример:

  1. Приложение X создает файл шаблона с именем January.csv
  2. Пользователь открывает January.csv в Excel, который создает рабочий лист с именем января. Они заполняют эту таблицу и сохраняют книгу как MonthlyData.xls
  3. Приложение Y пытается импортировать данные из Лист1 в MonthlyData.xls и терпит неудачу.

Я хотел бы найти способ сообщить Excel, что при открытии файла CSV он должен автоматически переименовать первый созданный лист в Лист1 и не присваивайте этому листу то же имя, что и файл CSV, как это делается по умолчанию. Какие средства в моем распоряжении для этого?

ProfK
источник
Насколько я знаю, с помощью Excel API вы также можете взять ПЕРВЫЙ лист вместо именного ...
sinni800

Ответы:

1

В CSV-файле нет такого понятия, как «рабочий лист»; следовательно, переименовать нечего. Положитесь на поведение, которое вы объяснили выше, и передайте имя файла от исходного шага к последнему шагу, чтобы процесс импорта XLS на шаге 3 знал, что ожидается объект с именем original_filename с шага 1.

CSV - это просто текстовый файл со значениями, разделенными запятыми, нет способа определить рабочий лист в файле CSV.

skub
источник
1
Конечно, в CSV-файле нет рабочего листа, но когда вы открываете CSV-файл в Excel, Excel создает рабочий лист для представления данных из CSV-файла и дает этому рабочему листу имя, поэтому, конечно, это что-то переименовать, за исключением того, что переименование будет иметь смысл только в том случае, если вы затем сохраните документ как книгу, что я и описал выше.
ProfK
1
Я не думаю, что вы следуете Excel не Создайте лист, когда он отображает CSV. Первая рабочая книга отражает имя файла CSV. Если вы переименуете лист и попытаетесь сохранить его, Excel предупредит вас о том, что в файле есть функции, которые он не может сохранить, и порекомендует использовать XLS / XLSX. Если вы перейдете в CSV (нажмите «Да») и закроете / снова откроете файл, вы увидите, что «лист» будет назван так же, как имя файла, и никогда не будет принимать ваши изменения. Объект CSV никогда есть рабочий лист - никогда. Переосмыслить свой подход к проблеме; Ваша текущая теория не будет работать так, как задумано.
skub