所以,我有这个word文档,里面有一大堆表格,其中一些很长。在某些情况下,它跨越许多页面。我需要以编程方式将此东西转换为 XML。
我最初被告知我们可以将粘贴复制到 Excel 中并将其保存为 CSV,然后我可以从那里进行转换,这将非常容易。但是,由于某些字段的格式,在复制到 Excel 后需要对电子表格进行大量额外操作,以使其看起来正确并正确输出 CSV。
我应该注意,这是一个用 VB.Net 1.1 编写的旧应用程序的附加组件(提示皱眉脸):(。但是,我正在讨论是否可以在 C# 3.5 中编写一个单独的命令行工具。似乎 C# 有一些我怀疑是在 1.1 框架中的 Word 互操作的东西,但我还没有调查太远。
所以,我只是在寻找可以实现的最好/最快的方法。只要实现并且以编程方式完成,它是如何实现的并不重要。如果不是太难,一些步骤可以手动完成。就像如果首先将其转换为其他格式会节省大量编码并且不会太难那样就可以了。
有没有人做过这样的事情?有任何想法吗?
更新 好的,所以这是我需要做的一个例子。
我有一个看起来像这样的word doc...
PROTOCOL: BIRDS
Field Name Data Type Required Length Total Digits Fraction Digits ValidValues/Comparison Description
OBSERVATION_ID Text Yes 16 n/a n/a Unique observation identification. Primary key.
因此,有一个带有名称和供应商的表(在本例中为 Protocol 和 Birds)。例如,它只有一个字段。有效值/比较可以有多个用逗号分隔的事物,其中每个事物都由 XML 中的值标签括起来。
现在我基本上需要做的是把它转换成这个 XML ......
<?xml version="1.0" encoding="utf-8"?>
<Formats xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="Formats.xsd">
<VendorFormats Vendor="PROTOCOL" LastModified="2005-9-13">
<Format Name="BIRDS" Version="3" VersionDate="2005-9-10">
<BaseTable>BIRDS</BaseTable>
<StageTable>STAGE_BIRDS</StageTable>
<Fields>
<Text Name="OBSERVATION_ID" Required="Y">
<NullValue />
<Description>Unique observation identification. Primary key.</Description>
<Length>16</Length>
</Text>
</Fields>
</Format>
</VendorFormats>
</Formats>
总会有一个基表和一个阶段表,其中基表与冒号开头的任何名称相同(PROTOCOL:BIRDS,因此它将是 BIRDS),阶段表始终是 STAGE_,然后是冒号。您还会注意到 XML 中的版本和最后修改日期和版本日期。这些事情可以在以后担心,也许是手动添加的。