2013-05-06 334 views
1

我需要更改Excel工作表中一行中單元格的背景顏色。例如:如果A1單元格值小於100,我需要在紅色背景中顯示它。使用OpenXml更改Excel工作表中的特定單元格背景顏色

我搜索了很多,我發現了一些代碼來使用StyleIndex財產從這個

http://blogs.msdn.com/b/chrisquon/archive/2009/11/30/stylizing-your-excel-worksheets-with-open-xml-2-0.aspx

代碼創建樣式表。而且非常複雜。 有沒有其他的解決方案...... ???????

+1

的OpenXML的確可以稱爲ChaosXml 。我不認爲你會找到一個更簡單的解決方案。看[這裏](http://stackoverflow.com/questions/9004848/working-with-office-open-xml-just-how-hard-is-it):/ – 2013-05-06 11:14:52

回答

2

爲了處理OpenXML格式的電子表格,圍繞原始SDK的幾個包裝使事情變得更加簡單,例如,

使用ClosedXML你可以使用條件格式來實現你想要的結果(見documentation):

using (var wb = new XLWorkbook()) 
{ 
    using (var ws = wb.AddWorksheet("Test")) 
    { 
     ws.Cell("A1").Value = 42; 
     ws.Cell("A1").AddConditionalFormat().WhenLessThan(100) 
      .Fill.SetBackgroundColor(XLColor.Red); 
    } 
    wb.SaveAs(@"C:\Dev\Test.xlsx"); 
} 
相關問題