Оставьте это на случай, если мимо пройдут другие люди.
.xls
- старый формат Excel. С этим форматом вы должны создать новый экземпляр HSSFWorkbook
. XSSFWorkbook
используется с новым форматом .xlsx
.
Оба типа наследуются от интерфейса IWorkbook
, поэтому вы можете построить свой код вокруг этого интерфейса и определить тип экземпляра рабочей книги во время выполнения.
Я создал простой компонент Excel, и вот конструктор:
private IWorkbook _workbook;
public NpoiExcelManager(bool useOldVersionOfExcel = false)
{
try
{
UseOldVersionOfExcel = useOldVersionOfExcel;
if (UseOldVersionOfExcel)
{
_workbook = new HSSFWorkbook();
}
else
{
_workbook = new XSSFWorkbook();
}
}
catch (Exception)
{
throw;
}
}
public bool UseOldVersionOfExcel { get; private set; }