首页 > 解决方案 > 如何使用 C# 根据批量大小拆分 Excel 工作表?

问题描述

下面的代码适用于为 .txt、.csv、.xml 拆分文件,例如,如果名为 Data 的文件包含 40 条记录,它将被拆分为 20 条记录,分别为 Data1 和 Data2 。如何在每个文件中保留第一行(标题)分割的文件?

int i = 1;
int batchsize = 20;
string filepath = "";
string file = "";
string[]readfile=File.ReadAllLines(file);
Var chunk = readFile.Take(batchsize);
Var rem = readFile.Skip(batchsize);
While(chunk.Take(1).Count() > 0) 
{
    stringfilename="Data_" +i.String()+ ".xlsx";
    using StreamWriter sw=new StreamWriter (filename))
   {
        foreach(string line in chunk) 
       {
            sw WriteLine(line);
        }
    }
    chunk = rem.Take(batchsize);
    rem = rem.Skip(batchsize)
    i++;
} 

标签: c#

解决方案


我认为直接从 excel 获取数据会很复杂,因为你有多个工作表和列和行的社会哲学,所以你可以使用 Nuget 的“EPPlus”版本“4.5.3.3”(因为这个版本是免费的)

你所有的练习都会很容易做到。我希望答案有帮助

参考:使用EPPlus读取excel文件


推荐阅读