public override void InsertRecords(object[] records)
{
if (records == null ||
records.Length == 0)
return;
CultureInfo oldCulture = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
try {
int recordNumber = 0;
OnProgress(new ProgressEventArgs(0, records.Length));
InitExcel();
if (OverrideFile && File.Exists(FileName))
File.Delete(FileName);
if (!String.IsNullOrEmpty(TemplateFile)) {
if (File.Exists(TemplateFile) == false)
throw new ExcelBadUsageException(string.Concat("Template file not found: '", TemplateFile, "'"));
if (String.Compare(TemplateFile, FileName, StringComparison.OrdinalIgnoreCase) != 0)
File.Copy(TemplateFile, FileName, true);
}
OpenOrCreateWorkbook(FileName);
AddHeaderColumns(StartColumn, StartRow);
for (int i = 0; i < records.Length; i++) {
recordNumber++;
OnProgress(new ProgressEventArgs(recordNumber, records.Length));
WriteRowValues(RecordToValues(records[i]), StartRow + i, StartColumn);
}
SaveWorkbook(FileName);
}
catch {
throw;
}
finally {
CloseAndCleanUp();
Thread.CurrentThread.CurrentCulture = oldCulture;
}
}