Чтение значения из файла .xls с использованием файлов .bat - PullRequest
1 голос
/ 20 июня 2009

Я просто хочу знать, может ли быть какой-либо способ, с помощью которого мы можем прочитать значение из файла .xls, используя файл .bat. Например: если у меня есть .xls с именем test.xls, который имеет два столбца а именно: «EID», а затем «mail ID». Теперь, когда мы передаем входные данные для .xls, EID name.it должен извлечь почтовый идентификатор, который соответствует EID, и вывести результат.

**EID**                  **MailID**
E22222                    MynameisA@company.com

E33333                    MynameisB@company.com

...
...

Таким образом, в приведенной выше таблице, когда я передаю данные в файл xls, используя мой файл .bat как E22222, он должен прочитать соответствующий почтовый идентификатор как MynameisA@company.com и отобразить значение.

Так что я надеюсь, что смогу представить свои сомнения. Пожалуйста, вернитесь ко мне для получения дополнительных разъяснений.

Спасибо и всего наилучшего Мэдди

Ответы [ 4 ]

3 голосов
/ 20 июня 2009

Нет возможности сделать это напрямую с традиционными .bat файлами. Тем не менее, вы можете исследовать PowerShell , который предназначен для подобных вещей. PowerShell хорошо интегрируется с существующими приложениями Windows (такими как Excel) и может предоставить инструменты, необходимые для этого.

Быстрый поиск обнаружил этот пример чтения файлов Excel из PowerShell .

2 голосов
/ 20 июня 2009

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

То, что вы можете сделать, это обернуть специфичные для Excel вещи в VBScript и вызвать их из вашего пакета.

1 голос
/ 21 декабря 2014

Вы можете сделать это с помощью Alacon - утилиты командной строки для Alasql базы данных.

Он работает с Node.js, поэтому вам нужно установить Node.js , а затем Alasql пакет:

Чтобы взять данные из файла Excel, вы можете использовать следующую команду:

> node alacon "SELECT VALUE [mail ID] FROM XLS('mydata.xls', {headers:true}) 
                   WHERE EID = ?" "E2222"

Параметр Fist - это выражение SQL, которое считывает данные из файла XLSX с заголовком и данными поиска. для второго значения параметра: «E22222». Команда возвращает значение почтового идентификатора.

1 голос
/ 20 июня 2009

Это будет сложно (очень близко к невозможному) в BAT, особенно при использовании исходного файла XLS, но даже после экспорта в CSV будет намного проще использовать язык сценариев / программирования ( Perl, C, что угодно), чтобы сделать это.

...