FileHelpers:如何跳过读取固定宽度文本的第一行和最后一行

And*_*rus 16 c# asp.net-mvc filehelpers

下面的代码用于使用ASP.NET MVC2中的FileHelpers读取固定宽度的上载文件内容文本文件

第一行和最后一行的长度较小,因此ReadStream会导致异常.所有其他线都有适当的固定宽度.如何跳过第一行和最后一行或其他方式来读取数据无异常?

    [FixedLengthRecord()]
    class Bank
    {
        [FieldFixedLength(4)]
        public string AINETUNNUS;
        [FieldFixedLength(16)]
        public string TEKST1;
        [FieldFixedLength(3)]
        public string opliik;
        [FieldFixedLength(2)]
        public string hinnalis;
    };

    [AcceptVerbs(HttpVerbs.Post)]
    [Authorize]
    public ActionResult LoadStatement(HttpPostedFileBase uploadFile)
    {

        FileHelperEngine engine = new FileHelperEngine(typeof(Bank));
        var res = engine.ReadStream(new StreamReader(uploadFile.InputStream,
             Encoding.GetEncoding(1257))) as Bank[];
  }
Run Code Online (Sandbox Code Playgroud)

Mar*_*eli 38

您可以使用这些属性

IgnoreFirst:表示引擎读取文件或流时在开头忽略的行数.

[IgnoreFirst(1)] 
public class OrdersVerticalBar 
{ ...
Run Code Online (Sandbox Code Playgroud)

IgnoreLast:表示引擎读取文件或流末尾时要忽略的行数.

[IgnoreLast(1)] 
public class OrdersVerticalBar 
{ ...
Run Code Online (Sandbox Code Playgroud)

您可以稍后使用访问这些值

engine.HeaderText
engine.FooterText
Run Code Online (Sandbox Code Playgroud)