2009-06-20 17 views
1

.batファイルを使用して.xlsファイルから値を読み取る方法があるかどうかを知りたいだけです。 例:もし私が.xlsという2つのカラムを持つtest.xlsを持っているのであれば、 'EID'と 'メールID'の2つのカラムを持っています。ここで.xlsに入力を与えるとEIDのname.itはメールを抽出しますidはEIDに対応し、結果をエコーし​​ます。.xlsファイルから.batファイルを使用して値を読み取る

**EID**     **MailID** 
E22222     [email protected] 

E33333     [email protected] 

... 
... 

私はE22222としての私の.batファイルを使用してXLSファイルに入力を与えるときに、上記の表で、それは[email protected]として対応するメールIDをお読みください、それが値をエコーする必要があります。

私は疑問を提示することができれば幸いです。詳細は私に連絡してください。

おかげに関して マディ

+1

あなたのシステムでPerlを買う余裕があれば、XLSをカンマ区切り(CSV)ファイルに変換する方法があります。私はこのSOの質問で自分自身のためにいつかこれをチェックしていた:http://stackoverflow.com/questions/943153/converting-an-excel-xls-file-to-a-comma-separated-csv-file-without-the -gui。あなたのデータを非常に簡単にgrepすることができます。 – nik

+0

実際、Perlを持っている必要はありません。その答えで見つかるように、他のものもうまくいくかもしれません。 – nik

答えて

3

伝統的な.batファイルを直接これを行うための機能はありません。しかし、あなたはこの種のことをすることができるように設計されているPowerShellを調査するかもしれません。 PowerShellは既存のWindowsアプリケーション(Excelなど)とうまく統合され、簡単にこれを行うために必要なツールを提供します。

クイック検索がexample of reading Excel files from PowerShellになりました。

+0

ありがとうGreg.Butちょうど私が私のcruiseControl.NEt設定ファイルのメールIDセクションに追加することができるように、このメールIDが必要ですuse.Becauseを使用するように混乱 –

1

これは、元のXLSファイルを使用する場合は特に、BATに(不可能に非常に近い)難しいだろうが、それでもCSVへのエクスポート後に、スクリプト/プログラミング言語(PerlやCを使用するはるかに容易になります、何でも)これをする。

2

バッチファイルから直接行うことはできません。さらに、スクリプトでExcelファイルを操作するには、Excelをインストールする必要があります。

あなたができることは、Excel固有のものをVBScriptでラップし、バッチから呼び出すことです。

1

Alasqlデータベース用のAlacon - コマンドラインユーティリティを使用して実行できます。

それはあなたがNode.js、その後Alasqlパッケージをインストールする必要がありますので、Node.jsのと連携して動作します。

次のコマンドを使用することができますExcelファイルからデータを取るために:

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

拳パラメータがありますXLSXファイルからヘッダおよび検索データ付きのデータを読み取るSQL-expresion 第2パラメータ値: "E22222"。このコマンドはメールID値を返します。

関連する問題