2

私は現在、Excel Interop ライブラリを使用する必要性を置き換えようとしていますが、NPOIに移行しています。現時点では、次のコードで少し問題があります。

XSSFSheet SheetName = excelWorkbook.GetSheet(sheet);
System.Collections.IEnumerator rows = SheetName.GetRowEnumerator();
while (rows.MoveNext())
{
    XSSFRow row = (XSSFRow)rows.Current;
    foreach (XSSFCell cell in row.Cells)
    {
        cellContent = cell.StringCellValue;
    } 
}

私が受け取っているエラーは次のとおりです。

Cannot implicitly convert type 'NPOI.SS.UserModel.ISheet' to 'NPOI.XSSF.UserModel.XSSFSheet'. An explicit conversion exists (are you missing a cast?)

どこが間違っていますか?HSSFへの言及がないことは確かです。

注: これ以外にも間違いを犯したと確信しているので、何か気づいたら指摘してください。

4

1 に答える 1

2

GetSheet メソッドは XSSFSheet ではなく ISheet 型を返します。

だから、あなたは変える必要があります

XSSFSheet SheetName = excelWorkbook.GetSheet(sheet);

XSSFSheet SheetName = (XSSFSheet)excelWorkbook.GetSheet(sheet);

ISheet を XSSFSheet に明示的にキャストする

于 2013-06-18T19:20:57.947 に答える