使用infragistics检查工作表是否存在

我需要检查一个工作表是否存在于Excel中,如果没有,创build它。 我正在使用infragistics和下面的代码给我以下错误:

使用未分配的局部variables“workSheet”。

这是代码:

Workbook workbook = new Workbook(); Worksheet workSheet; foreach (Something result in results) { foreach (Something item in result.Something) { if (!workbook.Worksheets.Exists(item.GetType().Name)) { workSheet = workbook.Worksheets.Add(item.GetType().Name); } // cell font IWorkbookFont oFont = workSheet.Workbook.CreateNewWorkbookFont(); .... } } 

错误是关于: IWorkbookFont oFont = workSheet.Workbook.CreateNewWorkbookFont()

在workSheetvariables上。

谢谢。

这里是你如何避免错误。 初始化工作表时为null声明它。 访问工作表之前不要忘记空检查。

 Workbook workbook = new Workbook(); Worksheet workSheet = null; foreach (Something result in results) { foreach (Something item in result.Something) { if (!workbook.Worksheets.Exists(item.GetType().Name)) { workSheet = workbook.Worksheets.Add(item.GetType().Name); } if (workSheet != null) { // cell font IWorkbookFont oFont = workSheet.Workbook.CreateNewWorkbookFont(); .... } .... } } 

我find了答案:

  Worksheet workSheet = null; if (!workbook.Worksheets.Exists(item.GetType().Name)) { workSheet = workbook.Worksheets.Add(item.GetType().Name); } else { workSheet = workbook.Worksheets[item.GetType().Name]; } // cell font IWorkbookFont oFont = workSheet.Workbook.CreateNewWorkbookFont(); 

我必须确保workSheetvariables有值(初始化)。