Convert XLS to XLSX

Viewed 112

I am tring to implement NPOI package to covert an XSL file into XSLX one. Here is my code:

var stream = new FileStream("path to xls file", FileMode.Open);
HSSFWorkbook xsl_Workbook = new HSSFWorkbook(stream); // Old format
XSSFWorkbook retVal = new XSSFWorkbook(); // New format
for (int i = 0; i < xsl_Workbook.NumberOfSheets; i++)
{
    **XSSFSheet xssfsheet = (XSSFSheet)xsl_Workbook.GetSheetAt(i);** // error line
    xssfsheet.CopyTo(retVal, xsl_Workbook.GetSheetName(i), true, true);
    MemoryStream mstream = new MemoryStream();
    retVal.Write(mstream);
    retVal.Close();
    bytes = new byte[mstream.Length];
    mstream.Read(bytes, 0, (int)mstream.Length);
    File.WriteAllBytes("path to newfile with ext xlsx", bytes);
    mstream.Close();
}

I am getting an error at the error line:

System.InvalidCastException: Unable to cast object of type 'NPOI.HSSF.UserModel.HSSFSheet' to type 'NPOI.XSSF.UserModel.XSSFSheet'

I am not a C# developer, I am addapting what I can find online. Plesae help.

Thanks

0 Answers
Related