C# Visual Studio 2015打破了EPPlus颜色
我花了好几个小时对此大惊小怪,直到我把范围缩小到VS 2015。这在VS 2013中运行良好:C# Visual Studio 2015打破了EPPlus颜色,c#,visual-studio,epplus,C#,Visual Studio,Epplus,我花了好几个小时对此大惊小怪,直到我把范围缩小到VS 2015。这在VS 2013中运行良好: myWorksheet.Cells[1, 1].Style.Fill.BackgroundColor.SetColor(Color.LightGray); 但在VS 2015中,虽然它编译得很好,但当我运行解决方案时,它会抛出一个异常: Color.LightGray={System.NullReferenceException:对象引用未设置为对象的实例 在Microsoft.Win32.Syst
myWorksheet.Cells[1, 1].Style.Fill.BackgroundColor.SetColor(Color.LightGray);
但在VS 2015中,虽然它编译得很好,但当我运行解决方案时,它会抛出一个异常:
Color.LightGray={System.NullReferenceException:对象引用未设置为对象的实例在Microsoft.Win32.SystemEvents.AddEventHandler中(对象键,委托值
在Microsoft.Win32.SystemEvents.add_UserPreferenceChanging(UserPreferenceChangingEventH
是否有其他方法可以指定颜色?问题不在于VS 2015。如果我这样做:
using (var excel = new ExcelPackage())
{
var ws = excel.Workbook.Worksheets.Add("sheet1");
ws.Cells[1, 2].Value = "light grey";
ws.Cells[1, 2].Style.Fill.PatternType = ExcelFillStyle.Solid;
ws.Cells[1, 2].Style.Fill.BackgroundColor.SetColor(Color.LightGray);
excel.SaveAs(new System.IO.FileInfo(@"C:\temp\temp.xlsx"));
}
然后我得到了预期的输出:
这可能引发异常的几个原因:
- 您是否已首先将填充的
属性设置为.PatternType
ExcelFillStyle.Solid
- 您是否参考了System.Drawing以获得正确的目标框架?(发生在VS升级之后,这让我怀疑您的参考是否针对.NET 4.5,但您的项目针对的是更高版本?)