2014-09-02 70 views
5

我使用帶條件格式的EPPlus創建excel。我使用C#代碼來執行條件格式化,但它不起作用。通過表達式格式化條件EPPlus

請檢查我下面的代碼,讓我知道我錯了:

ExcelPackage pck = new ExcelPackage(); 
var ws = pck.Workbook.Worksheets.Add("Sample1"); 
var _formatRangeAddress = new ExcelAddress("H16:K31,H33:K44,H46:K57,H59:K69,H71:K73"); 
string _statement = "=AND(COUNTA(H16:H16)<2,COUNTA(H16:K16)>0)"; 
var _cond4 = ws.ConditionalFormatting.AddExpression(_formatRangeAddress); 
_cond4.Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; 
_cond4.Style.Fill.BackgroundColor.Color = Color.Green; 
_cond4.Formula = _statement; 
pck.SaveAs(Response.OutputStream); 
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; 
Response.AddHeader("content-disposition", "attachment; filename=Sample1.xlsx"); 

回答

0

請試試這個:

ExcelPackage pck = new ExcelPackage(); 
var ws = pck.Workbook.Worksheets.Add("Sample1"); 
var _formatRangeAddress = new ExcelAddress("H16:K31,H33:K44,H46:K57,H59:K69,H71:K73"); 
string _statement = "AND(COUNTA(H16:H16)<2,COUNTA(H16:K16)>0)"; 
var _cond4 = ws.ConditionalFormatting.AddExpression(_formatRangeAddress); 
_cond4.Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; 
_cond4.Style.Fill.BackgroundColor.Color = Color.Green; 
_cond4.Formula = _statement; 
pck.SaveAs(Response.OutputStream); 
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; 
Response.AddHeader("content-disposition", "attachment; filename=Sample1.xlsx");