【发布时间】:2020-06-08 10:47:38
【问题描述】:
下面的代码适用于为 .txt、.csv、.xml 拆分文件,例如,如果名为 Data 的文件包含 40 条记录,它将被拆分为 Data1 和 Data2 的 20 条记录。如何保留第一行(标题) 在每个拆分的文件中?
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++;
}
【问题讨论】:
-
欢迎来到 StackOverflow。我认为问题在于您的
Excel文件不是文本文件,而是 二进制文件 (因此File.ReadAllLines(file)不能用于读取它)。请看一下这个链接:stackoverflow.com/q/6865890/12833205。我认为这可能会有所帮助。它展示了如何逐块读取任意文件。
标签: c#