2009-07-23 14 views
1

XMLファイルをDBFに変換しようとしています。今は手動でXMLファイルをExcel 2003で開き、DBF 4ファイル形式で保存します。これは、退屈で時間のかかるプロセスです。Office 2007もOffice 2008 for MacもDBFとして保存できないという事実が悪化しています。XMLファイルをDBFに変換する

可能であれば、これを自動化する方法が必要です。あなたは実際にこれを行う方法を知っていますか?私はこのためにどんなプログラミング言語を使うべきかも知らない。

答えて

2

XmlReaderを使ってデータをフォーマットし、OleDbを使ってdbfファイルに保存する。ここでは、dbfの接続文字列を見つけることができます。www.connectionstrings.com

+0

あなたのソリューションを使いました。ありがとう! – alex

2

Visual FoxProには、XMLをVisual FoxProカーソルに変換するコマンドXMLTOCURSOR()があります。このカーソルは、COPY TOコマンドを使用してディスクベースのDBFに変換できます。

XMLの複雑さにより、XMLAdapterでは特に階層的(ネストされた)XMLがある場合には、別のアプローチが必要になることがあります。 Visual FoxPro 9のXMLAdapterには、この形式を処理する拡張機能があります。

リックSchummer

+0

XMLファイルは実際にはかなり複雑です。また、各ファイルのサイズは約100MBです。それはXMLAdapterを使用する際に問題になるでしょうか? – alex

+0

私はそのサイズのファイルを引っ張っていないので、わかりません。テストするのはそれほど難しいことではありません。 –

1

DBF 4、ファイルの種類として、Excel 2003でXMLファイルを開いて、それを保存すると、あなただけのプログラムを経由してこのプロセスをエミュレートする必要があることよりも、何を動作する場合。

1)VBAはエクセルwhithinランニング:

他のアプローチは、Excelで実行され、手動で行うものを自動化するVBAを使用している少なくとも2つのアプローチがあります。それを感じる。マクロレコーダーを実行して、もう一度手動で変換を実行できます。その後、実行していることをエミュレートするVBAコードが表示されます。少し微調整すれば、プロセス全体を自動化できるはずです。

2)外部アプリケーション:基本的にExcelをカプセル化した別のWindowsアプリケーションでExcelオブジェクトを作成し、このオブジェクトを介してリモートから手動で行う作業を行います。

VS 2008、C#と.NETを使用してコード例:

....

using System; 
using Microsoft.Office.Interop.Excel; 

...

Microsoft.Office.Interop.Excel.Application oExcelApplication = new 
Microsoft.Office.Interop.Excel.Application(); 

...

oExcelApplication.Workbooks.Open(....); 

....

を入力し、ファイルをDBF4形式で保存します。

こちらがお役に立てば幸いです。

+0

私はあなたの第二のアプローチが本当に好きです。私はそれを試してみると、私が思い付くものを見てみましょう。 ありがとう! – alex

関連する問題