簡體   English   中英

使用基礎設施檢查工作表是否存在

[英]Check if worksheet exist using infragistics

我需要檢查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。 訪問工作表之前,請不要忘記進行空檢查。

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變量具有值(已初始化)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM