2017-09-26 85 views
0

我想将一个大的Excel文件拆分为几个较小的文件和可访问的文件。C#将大型excel文件拆分为更小的文件

我已经尝试过使用此代码,但这些文件无法访问:

using (System.IO.StreamReader sr = new System.IO.StreamReader("path")) 
{ 
    int fileNumber = 0; 

    while (!sr.EndOfStream) 
    { 
     int count = 0; 

     using (System.IO.StreamWriter sw = new System.IO.StreamWriter("other path" + ++fileNumber + ".xlsx")) 
     { 
      sw.AutoFlush = true; 

      while (!sr.EndOfStream && ++count < 20000) 
      { 
       sw.WriteLine(sr.ReadLine()); 
      } 
     } 
    } 
} 

任何想法? 谢谢。

+1

任意将一个fie分成块是有目的的,但是你期望什么能够读取它? Excel中有一个格式 - 如果格式心不是有效的,它不会把它看作一个文件.. – BugFinder

+2

这就像是试图创建两个轿车出了一辆货车,只用锯。 –

+0

它可以与Aspose.Cells一起使用。但Aspose.Cells将读取您的原​​始Excel文件并为每个部分或数据块创建新的Excel文件。 – shakeel

回答

1

文件,不是文本文件等,不要以这种方式工作。你不能简单地在某个点上裁剪并获得工作副本。

对于Excel文件,你可以看看下面的教程,这说明了如何Excel中从C#自动化:

https://support.microsoft.com/en-us/help/302084/how-to-automate-microsoft-excel-from-microsoft-visual-c--net

基本上,你想要做的就是打开你的大Excel文件是什么,决定在哪里你想分裂它(每n行,每n张等),读取每个部分并写入一个新创建的xlsx。

相关问题