如果您必须设计一个文件处理组件/系统,它可以采用多种文件格式(包括专有格式,如 Excel),解析/验证并将此信息存储到数据库中。您会怎么做?
注意:95% 的时间 1 行输入数据将等于数据库中的一条记录,但并非总是如此。
目前我正在使用一些我设计的自定义软件来解析/验证/将客户数据存储到我们的数据库中。系统通过文件系统中的位置(从 ftp 下载)识别文件,然后加载 XML“定义”文件。(根据输入文件的放置位置加载正确的 XML)。
XML 指定文件布局(定界或固定宽度)和字段特定项(长度、数据类型(数字、字母、字母数字)以及将字段存储到哪个 DB 列)等内容。
<delimiter><![CDATA[ ]]></delimiter>
<numberOfItems>12</numberOfItems>
<dataItems>
<item>
<name>Member ID</name>
<type>any</type>
<minLength>0</minLength>
<maxLength>0</maxLength>
<validate>false</validate>
<customValidation/>
<dbColumn>MembershipID</dbColumn>
</item>
由于这种设计,输入文件必须是文本(固定宽度或分隔),并且从输入文件数据字段到 DB 列具有 1 对 1 的关系。
我想扩展我们的文件处理系统的功能以接受 Excel 或其他文件格式。
我至少有六种方法可以继续,但我现在被困住了,因为我没有人可以真正从这些想法中汲取灵感。
再说一遍:如果你必须设计一个文件处理组件,它可以采用多种文件格式(包括专有格式,如 Excel),解析/验证并将这些信息存储到数据库中。你会怎么做?