CSVReader正在跳过第一行

时间:2018-05-03 18:01:57

标签: acumatica

我正在使用CSVReader对象,但它正在跳过第一行。有什么方法可以防止这种情况吗?

我的代码:

if (UploadFile.AskExt() == WebDialogResult.OK)
{
    StringBuilder filetext = new StringBuilder();


    PX.SM.FileInfo info = PXContext.SessionTyped<PXSessionStatePXData>().FileInfo["MyFileImportSessionKey"] as PX.SM.FileInfo;

    Byte[] bytes = info.BinData;

    using (CSVReader reader = new CSVReader(bytes, Encoding.ASCII.CodePage))
    {
        reader.Reset();
        filetext.Append("FIRST:" + reader.GetValue(0) + " DONE" + Environment.NewLine);

        while (reader.MoveNext())
        {
            for (int i = 0; i < reader.IndexKeyPairs.Count; i++)
            {
                filetext.Append(reader.GetValue(i));
            }
            filetext.Append(Environment.NewLine);
        }
        System.Web.HttpContext.Current.Session.Remove("MyFileImportSessionKey");
    }

    CurrentDocument.Ask(filetext.ToString(), MessageButtons.OK);
}

这始终显示第一行之后的所有行。我理解通常第一行是标题,并且希望被忽略,但在我的情况下,我需要文件中的所有行。

1 个答案:

答案 0 :(得分:1)

标题肯定是作为一种特殊情况处理的。

我相信它已在IndexKeyPairs公共集合中公开。

foreach (KeyValuePair<int, string> headerColumn in reader.IndexKeyPairs)
{
   int headerColumIndex = headerColumn.Key;
   string headerColumnCellValue = headerColumn.Value;
}