在验证数据时需要建议读取巨大的XL

|| 我有一个要求客户端上传包含数千行的电子表格。 行的不同列具有不同的数据类型,并且数据必须符合某些验证规则。 下面是一个示例文件结构:
(Header - Colume_name,Variable_type,field_size,i/p mask,required_field,validation_Text) 
(P/N,String,20,none,yes,none)           
(qty,Integer,10,none,yes,none)
(Ship_From,String,20,none,yes,none)
(Request_Date,Date,MM/DD/YY ,yes,none)  
(Status,String,10,none,yes,Failed OR Qualified)
在阅读XL工作表时,我需要根据上述约束条件对数据进行验证,如果数据有误, 我需要存储错误并通知客户。 请让我知道维持系统性能的最佳方法。 任何早期的反应将不胜感激。 谢谢, 阿什什·古普塔(Ashish Gupta)     
已邀请:
        如果我理解您的问题,那么您想阅读一个验证规则文件,例如上面的示例。您希望对规则进行编译,以便它们可以读取大型Excel电子表格(或者它是CSV文件?),并可能为被认为无效的每一行打印一条消息。 似乎是一个两遍过程: 1)验证和验证文件的编译,以及2)编译过程1的输出并将其应用于Excel文件。 您可以根据自己的技能和爱好,以几种方式中的任何一种来进行现场验证。 开发VBA代码以读取验证文件。然后编写一个单独的宏以验证每一行 用您喜欢的语言编写一个解析器,以读取验证文件。将一些列添加到已读Excel电子表格中,并使用诸如列名称(例如,数量),类型(例如,整数),必填(例如,真)的字段。然后让Excel或OpenOffice高亮显示无效行 让lex和yacc生成Java或C ++解析器以扫描验证文件并输出BNF。然后,从上一步的输出中读取另一个lex和yacc文件,并使其验证Excel文件。 您在标签上标了“ 1”,因此我认为您将要生成Java代码。 当然,您也可以编写一个一次性程序来完成所有这些元编译和编译,但这将是一个脆弱的过程。 如果您可以自由指定验证文件,则可能希望将其设置为.XSD文件,因为有自动工具可以简化其扫描过程。有一些工具可以确定XML文件是否有效,还有可以将其转换为Java的编译器。 (当我阅读验证文件时,我想到了一个想法。如何将一个零件与另一个零件分开?例如,如果您读
P/N, Qty, Request_Date, Ship_From, Status, P/N
,那是一个零件包含两个P / N还是一个完整零件,而一个零件又需要几个零件?零件丢失?)     
        我的第一个想法是让Excel执行此验证,因为Rajah似乎也建议这样做。内置功能和/或VBA应该能够满足这些要求。 如果您需要用Java处理这个问题,我会选择XML方法。 干杯, 威姆     
        我听说一个朋友使用JBOSS DROOLS验证他的电子表格:http://www.jboss.org/drools     
        我有一个基于XML的基于XML的excel验证器,该验证器基于POI构建。 您只需要指定需要在excel中验证的数据,java api就会进行验证并在无效时返回错误消息。 例如:     是     名称 上面是纯文本字段的简单验证,它也有其他验证,请让我知道您是否感兴趣?     

要回复问题请先登录注册