C# 我怎样才能拿到那排';s值从1048577开始到非常大的excel文件的结尾?

C# 我怎样才能拿到那排';s值从1048577开始到非常大的excel文件的结尾?,c#,C#,我有一个非常大的excel文件,我用notepad++打开了它,共有1261286行。如何通过C#获得该表中从1048577到1261286的行值?我试着去读,但是。。。请看两张图片 c读# 用记事本打开++ 任何帮助都将不胜感激 如果您可以在Notepad++中打开它,并且它看起来像一个格式良好的文本文件,而不是二进制数据,那么很可能您实际上正在处理制表符分隔的数据 如果是这样,您可以使用快速、高效和开源的CSV阅读器 我在许多项目中使用它,它就像一种魅力 您将读取所有行,忽略不在您感兴

我有一个非常大的excel文件,我用notepad++打开了它,共有1261286行。如何通过C#获得该表中从1048577到1261286的行值?我试着去读,但是。。。请看两张图片

c读#

用记事本打开++


任何帮助都将不胜感激

如果您可以在Notepad++中打开它,并且它看起来像一个格式良好的文本文件,而不是二进制数据,那么很可能您实际上正在处理制表符分隔的数据

如果是这样,您可以使用快速、高效和开源的CSV阅读器

我在许多项目中使用它,它就像一种魅力

您将读取所有行,忽略不在您感兴趣的范围内的行

代码将遵循

int lineNr = 1;
using (FileStream fs = File.Open(pathToTheFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (BufferedStream bs = new BufferedStream(fs))
using (CsvReader csv = new CsvReader(new StreamReader(bs), true))
{
    while (csv.ReadNextRecord())
    {
        if (YouCareAboutLine(lineNr))
        {
            DoSomethingWithThisLine();
        }
        lineNr++;
    }
}

绝对是一个制表符分隔的文件。OP正在运行Excel中可用的最大行数。看:谢谢@aquinas!你说得对。如何处理Excel中的最大行数?您不能:)。你需要像Eric J所说的那样使用CSV阅读器。我的意思是,如果你试图读取一个诚实的excel文件,那么,不用担心,因为excel文件不能保存超过1048566行。另一方面,如果是CSV文件,请使用其他文件读取。您不能将超过最大值的内容加载到Excel中,但可以使用CsvReader将原始文档拆分为多个“Excel”(真正的制表符分隔值)文档。我怀疑对这么大的文档使用Excel互操作界面会非常慢。谢谢大家!现在我明白了。也许@EricJ的答案是解决这个问题的唯一方法。我现在就接受。