我正在使用 Interop Excel,但遍历每一行和单元格的速度非常慢。这是当前使用的代码:
foreach (var amministratore in amministratoriComunali)
{
if (provinciaEsiste.IsMatch(amministratore.luogo_nascita))
{
estero = false;
}
else
{
estero = true;
}
worksheet.Cells[rowIndex, 1] = amministratore.cognome;
worksheet.Cells[rowIndex, 2] = amministratore.nome;
worksheet.Cells[rowIndex, 3] = "";
worksheet.Cells[rowIndex, 4] = "";
worksheet.Cells[rowIndex, 5] = amministratore.data_nascita;
if (!estero)
{
worksheet.Cells[rowIndex, 6] = amministratore.luogo_nascita.Substring(0, amministratore.luogo_nascita.IndexOf("(") - 1);
}
else
{
worksheet.Cells[rowIndex, 6] = amministratore.luogo_nascita;
}
if (!estero)
{
worksheet.Cells[rowIndex, 7] = amministratore.luogo_nascita.Substring(amministratore.luogo_nascita.IndexOf("(") + 1, 2);
}
else
{
if (String.IsNullOrEmpty(amministratore.luogo_nascita))
{
worksheet.Cells[rowIndex, 7] = "";
}
else
{
worksheet.Cells[rowIndex, 7] = "EE";
}
}
if (!estero)
{
worksheet.Cells[rowIndex, 8] = "ITALIA";
}
else
{
worksheet.Cells[rowIndex, 8] = amministratore.luogo_nascita;
}
worksheet.Cells[rowIndex, 9] = amministratore.sesso.ToString();
worksheet.Cells[rowIndex, 10] = "";
worksheet.Cells[rowIndex, 11] = "S";
worksheet.Cells[rowIndex, 12] = "ELEZIONE AMMINISTRATORI COMUNALI";
worksheet.Cells[rowIndex, 13] = "AMMINISTRATORI COMUNALI IN CARICA";
worksheet.Cells[rowIndex, 14] = amministratore.data_elezione;
worksheet.Cells[rowIndex, 15] = "";
worksheet.Cells[rowIndex, 16] = "AMMINISTRAZIONE COMUNALE";
worksheet.Cells[rowIndex, 17] = amministratore.partito;
worksheet.Cells[rowIndex, 18] = amministratore.descrizione_carica;
worksheet.Cells[rowIndex, 19] = amministratore.data_entrata_in_carica;
worksheet.Cells[rowIndex, 20] = amministratore.denominazione_comune;
worksheet.Cells[rowIndex, 21] = "";
worksheet.Cells[rowIndex, 22] = "";
worksheet.Cells[rowIndex, 23] = "COMUNE";
worksheet.Cells[rowIndex, 24] = "AMMINISTRAZIONE COMUNALE";
worksheet.Cells[rowIndex, 25] = "MINISTERO DELL'INTERNO - AMMINISTRATORI COMUNALI IN CARICA";
++rowIndex;
}
我考虑过创建一个 .csv 文件,但问题是如果我这样做并用 Microsoft Excel 打开它,“日期”字段的类型将是“日期”,而我需要它们是纯文本,所以我需要Interop Excel 指定我猜的列的类型。
有没有办法让它更快?谢谢。