2010-06-25 53 views
13

有人可以幫我ExcelLibrary? 我想設置單元格背景和字體顏色,但我不知道該怎麼做。 我嘗試訪問單元格樣式,但我沒有找到它。如何使用ExcelLibrary更改Excel文件中的單元格樣式?

有人有什麼想法嗎?

+2

是很重要的是你用ExcelLibrary?您可以查看NPOI作爲替代方案,我對ExcelLibrary不太熟悉,但是NPOI可能會更豐富,而且這非常簡單。 – 2011-02-25 17:38:00

回答

20

我已經研究過這個庫,爲您和發現了以下(警告 - 這是個壞消息!):

  1. 還有就是ExcelLibrary沒有發佈的版本,它允許訪問單元顏色。

  2. 在未發佈的源代碼中,新的CellStyle類中有BackColor屬性,但沒有屬性可以表示前景色。

  3. 保存工作簿時不會保留BackColor屬性。它僅用於設置加載工作簿時單元格的背景顏色。

如果需要使用顏色,請使用NPOI(由@jamietre推薦)。然後,您可以設置前景色和背景色是這樣的:

HSSFCellStyle style1 = hssfworkbook.CreateCellStyle(); 

// cell background 
style1.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.BLUE.index; 
style1.FillPattern = HSSFCellStyle.SOLID_FOREGROUND; 

// font color 
HSSFFont font1 = hssfworkbook.CreateFont(); 
font1.Color = NPOI.HSSF.Util.HSSFColor.YELLOW.index; 
style1.SetFont(font1); 

cell.CellStyle = style1; 
1

我沒有測試這個,但看起來你的單元格有一個名爲「Style」的屬性,它定義了cellstyle。在這裏您可以設置特定單元格的背景顏色。

worksheet.Cells[0,0].Style.BackColor = Color.CornflowerBlue; 
+0

我測試過了,不幸的是它不起作用。 :(看看我的答案的細節 – 2011-03-02 22:36:09

+0

嗯,我只是看着googlecode回購的來源,你可以找到風格的道具:[Excel Library Repo](http://code.google.com/ p/excellibrary/source/browse/trunk/src/ExcelLibrary/Office/Excel/SpreadSheet/Cell.cs)。 – nhu 2011-03-06 16:21:01

5

我知道你可以依賴於ExcelLibrary,但你看着EPPlus? http://epplus.codeplex.com/

它將會做什麼你問 - 輕鬆(及以上)

+0

非常感謝。 – Sayka 2015-01-09 11:06:19

+0

EPPlus不是ExcelLibrary的替代品,ExcelLibrary只處理XLS格式。 EPPlus只能處理XLSX - 所以它不是一個替代品 – 2015-04-01 01:37:10

+0

好的電話號碼克里斯 - 我沒有考慮過他們可能因爲某種原因被舊的二進制Excel格式卡住了,如果是這樣的話,它必須是某種形式Interop圖書館,在這種情況下,NPOI將是最好的選擇(正如Alex所指出的那樣)。 – iivel 2015-04-01 13:37:14

相關問題