使用注册表检查工作表是否存在

本文关键字:是否 存在 工作 检查 注册表 | 更新日期: 2023-09-27 18:00:13

我需要检查excel中是否存在工作表,如果不存在,则创建它

使用未分配的局部变量"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()

在workSheet变量上。

谢谢。

使用注册表检查工作表是否存在

以下是避免错误的方法。声明工作表时将其初始化为null。访问工作表之前请不要忘记进行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();
             ....
         }
        ....
     }
}

我找到了答案:

  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();

我必须确保workSheet变量具有值(已初始化)。