Я хочу прочитать имя, присвоенное стилю, примененному к ячейке в документе xlsx. Я извлек файл и в styles.xml я могу найти имя в х/стиль:POI Excel: получить имя стиля
<cellStyles count="3">
<cellStyle xfId="2" builtinId="7" name="Currency [0]"/>
<cellStyle xfId="0" builtinId="0" name="Normal"/>
<cellStyle xfId="1" name="test style"/>
</cellStyles>
Имя стиля я хочу «тест стиль». В настоящее время у меня есть следующий код, и я могу получить xfId но не имя:
@Override
public String getName(Workbook table, XSSFCell cell, String value) {
XSSFCellStyle cellStyle = cell.getCellStyle();
CellColor cellColor = new CellColor(cellStyle);
int xfId = cellStyle.getCoreXf().getFillId();
//todo: fint name, not xfId
return null;
}
Кто-нибудь знает, если я могу получить имя стиля с пои, и как я бы о поездке его?
Если это невозможно, я могу получить цвет фона на основе xfId как rgb?
Отношения
Вы попробовали [метод XSSFCellStyle getFillBackgroundColorColor?] (Https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCellStyle.html#getFillBackgroundColorColor%28%29). Не удалось, в быстрый поиск, найти способ получить имя. –
Я пробовал это, но по какой-то причине при использовании пользовательского формата на ячейках цвет имеет значение null, используя этот метод. –
Одна вещь, которая может привести вас к цвету, - это если стиль проиндексирован в книге. Получите 'StylesTable' из' table' с помощью [getStylesSource] (http://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbook.html#getStylesSource%28%29) и посмотрите, CellStyle находится там, надеюсь, с цветом фона заливки. –