NPOI 2.0版本 怎么读取Excel(2007)模板

NPOI 2.0版本 如何读取Excel(2007)模板

FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read);
IWorkbook workbook = WorkbookFactory.Create(file);

总是报错:“NPOI.OpenXmlFormats.Spreadsheet.ThemeDocument”的类型初始值设定项引发异常。 ---> System.InvalidOperationException: 无法生成临时类(result=1)。
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_RelativeRect.lSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_RelativeRect.tSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_RelativeRect.rSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_RelativeRect.bSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_ShapeProperties.bwModeSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_Transform2D.flipVSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_Transform2D.flipHSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_Transform2D.rotSpecified”赋值 -- 它是只读的


------解决方案--------------------
FileStream file = new FileStream(@filePath, FileMode.Open, FileAccess.Read);
                HSSFWorkbook hssfworkbook = new HSSFWorkbook(file);  试试这个可能行不行
------解决方案--------------------
这个问题我刚刚解决
 
  
 using (FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read))
            {
                xssfworkbook = new XSSFWorkbook(file);
            }


void ConvertToDataTable()
        {
            ISheet sheet = hssfworkbook.GetSheetAt(0);
            System.Collections.IEnumerator rows = sheet.GetRowEnumerator();

            DataTable dt = new DataTable();


            int t = 0;
            while (rows.MoveNext())
            {
                IRow row = (XSSFRow)rows.Current;
                int cellCount = row.LastCellNum;
               
                DataRow dr = dt.NewRow();

                for (int i = 0; i < row.LastCellNum; i++)
                {
                    ICell cell = row.GetCell(i);

                    if (t == 0) 
                    {
                        DataColumn column = new DataColumn(cell.ToString());
                        dt.Columns.Add(column);
                    }
                    if (cell == null)
                    {
                        dr[i] = null;
                    }
                    else
                    {
                        dr[i] = cell.ToString();
                    }
                }