2009-07-23 134 views
1

我试图将XML文件转换为DBF。现在我手动执行此操作,在Excel 2003中打开XML文件并将其保存为DBF 4文件类型。这是一个无聊且耗时的过程,由于Office 2007和Mac版Office 2008都不允许再保存为DBF这一事实而变得更糟。将XML文件转换为DBF

我想要一种方法来自动化,如果可能的话。你知道有什么方法可以做到吗?我甚至不知道使用哪种编程语言...

回答

2

使用XmlReader,格式化数据并使用OleDb保存到dbf文件。在这里,您可以找到dbf的连接字符串:www.connectionstrings.com

+0

使用你的解决方案,它的工作。谢谢! – alex 2009-08-18 06:21:35

2

Visual FoxPro具有将XML转换为Visual FoxPro游标的命令XMLTOCURSOR()。该游标可以使用COPY TO命令转换为基于磁盘的DBF。

需要注意的一点是,XML的复杂性可能会迫使XMLAdapter采用不同的方法,尤其是如果存在层次结构(嵌套的)XML。 Visual FoxPro 9中的XMLAdapter具有增强功能来处理这种格式。

里克Schummer

+0

XML文件确实相当复杂。另外,每个文件大约100MB。使用XMLAdapter时会出现问题吗? – alex 2009-07-24 10:07:51

+0

我不确定,因为我没有拉到这个尺寸的文件。尽管如此,测试并不是那么困难。 – 2009-07-26 02:12:11

1

如果在Excel 2003打开XML文件,并保存为DBF 4文件类型的作品,你还有什么比可能你应该通过程序模拟了这一过程。至少有两种方法:

1)VBA运行whithin Excel中:

另一种方法是使用VBA其内Excel运行并自动手动做的东西。为了得到它的感觉。您可以运行宏记录器并再次手动完成转换。之后你会看到模拟你正在做的事情的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格式。

我希望这会有所帮助。