Vb.net 如何在Filehelpers中对文件进行分区
我正在尝试使用Filehelpers(3.0.39.0)将一个文件划分为12000行。 以下是我的代码:Vb.net 如何在Filehelpers中对文件进行分区,vb.net,filehelpers,Vb.net,Filehelpers,我正在尝试使用Filehelpers(3.0.39.0)将一个文件划分为12000行。 以下是我的代码: 'Busca informações do Discador Dim dtDiscadores As New DataTable mensagemErro += ItauACCRepositorio.GetDiscadores(dtDiscadores, dtInicial, dtFinal) 'DataTable->Li
'Busca informações do Discador
Dim dtDiscadores As New DataTable
mensagemErro += ItauACCRepositorio.GetDiscadores(dtDiscadores, dtInicial, dtFinal)
'DataTable->List
Dim records = (From row In dtDiscadores.Rows
Select New ItauACCLayout.RetornoAcionamentoDiscador With {.DescricaoLinha = row("DCRLINHARQ")}).ToList()
'Inicializa o motor do FileHelpers
Dim engine As New FileHelperEngine(Of ItauACCLayout.RetornoAcionamentoDiscador)(Encoding.GetEncoding("iso-8859-1"))
'Escreve o arquivo
engine.WriteFile(String.Concat(_camArquivo, _nomArquivo, _extArquivo), records)
如果我的datatable(dtDiscadores)返回的行数超过12000行,我需要划分为不同的“N”个文件 您只需使用批处理工具批处理
记录即可
非常感谢@shamp00,但是存在MoreLinq的VB.Net批处理吗?我对VB.Net不太了解,但也许你可以使用转换器。或者还有其他各种实现真的是Skip()。Take()策略帮助了我!非常感谢你!Skip().Take()。比如说有一百万行,它将花费大量时间来执行Skip()
(至少对于大多数Linq提供程序是如此)。
var batches = records.Batch(12000);
var i = 0;
foreach(var batch in batches)
{
i++;
engine.WriteFile(String.Concat(_camArquivo, _nomArquivo + i.ToString(), _extArquivo), batch);
}