使用注册表检查工作表是否存在
本文关键字:是否 存在 工作 检查 注册表 | 更新日期: 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变量具有值(已初始化)。