2017-08-12 69 views
0

我想從工作簿中使用xlsx包獲取單元格的字符串值。使用getFillBackgroundColorColor()和getFillForegroundColorColor()方法,我找回Java對象亂碼,如"Java-Object{[email protected]}"。 7ec7ffd3隱藏顏色的十六進制值嗎?任何想法如何提取顏色名稱?謝謝。如何獲取單元格填充顏色

+0

顏色通常被定義爲6張十六進制數。所以我不認爲'7ec7ffd3'是你正在尋找的。 getCellStyle()給你什麼? – Kevin

+0

'getCellStyle()'取回我無法解析的Java單元格樣式Object:''Java-Object{[email protected]}「'。另外,'7ec7ffd3'是8位十六進制數字,不是6.讓我覺得它只是一個指向Java對象的指針。 – Eric

回答

1

我認爲這些數字只是一個對象標識符。你需要的是getRgb方法。

增加的步驟這是我在原來的答案步驟之前設置好了:

wb = loadWorkbook(file="Test.xlsx") 
SheetList = getSheets(wb) 
Rows = getRows(SheetList[[1]]) 
Cells = getCells(Rows) 

原來的答案

Style = getCellStyle(Cells[["2.1"]]) 
Style$getFillForegroundColorColor()$getRgb() 
[1] 00 b0 50 
as.character(Style$getFillForegroundColorColor()$getRgb()) 
[1] "00" "b0" "50" 
+0

您的解決方案對我產生此錯誤:$ getFillForegroundColorColor()中的錯誤$ getRGB: 沒有字段,方法或稱爲'getRGB'的內部類 – Eric

+0

將以前的某些步驟添加到答案中。再次測試。仍在爲我工作。在R版本3.4.1中使用'xlsx_0.5.7'和'xlsxjars_0.6.1'' – G5W

+0

getRGB之後是否包含()? – G5W

相關問題