如何在 Filehelpers 中对文件进行分区
How to partition a file in Filehelpers
我正在尝试使用 Filehelpers (3.0.39.0) 将文件分成 12.000 行。
下面是我的代码:
'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)
如果我的数据表 (dtDiscadores) return 超过 12.000 行,我需要分成 'N' 个不同的文件!
您可以使用 batch extension from MoreLinq.
对 records
进行批处理
var batches = records.Batch(12000);
var i = 0;
foreach(var batch in batches)
{
i++;
engine.WriteFile(String.Concat(_camArquivo, _nomArquivo + i.ToString(), _extArquivo), batch);
}
我正在尝试使用 Filehelpers (3.0.39.0) 将文件分成 12.000 行。 下面是我的代码:
'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)
如果我的数据表 (dtDiscadores) return 超过 12.000 行,我需要分成 'N' 个不同的文件!
您可以使用 batch extension from MoreLinq.
对records
进行批处理
var batches = records.Batch(12000);
var i = 0;
foreach(var batch in batches)
{
i++;
engine.WriteFile(String.Concat(_camArquivo, _nomArquivo + i.ToString(), _extArquivo), batch);
}