c# - 如何使用 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++;
}
解决方案
我认为直接从 excel 获取数据会很复杂,因为你有多个工作表和列和行的社会哲学,所以你可以使用 Nuget 的“EPPlus”版本“4.5.3.3”(因为这个版本是免费的)
你所有的练习都会很容易做到。我希望答案有帮助
推荐阅读
- ios - 我们是否需要在释放之前为 UIControl 对象调用 removeTarget(_:action:for:) ?
- json - REST Api 在移动应用程序中返回 HTML 代码而不是 JSON 结果?
- javascript - 在 Python Flask 中单击按钮时不播放音频
- angular - 错误:模块“MaterialComponentsModule”导出的意外值“未定义”
- ios - Arkit 中的逆运动学
- javascript - 反应钩子错误:渲染的钩子比上一次渲染时更多
- android - 今天在 Android 中比较日期和时间
- bash - bash 命令在显示的脚本中选择安装选项 #2
- python - Discord.py 禁止命令问题
- c# - 无法从角度 5 将数据提交到 .net 核心的操作方法