Apache POI: Indexed Color from AWT Color input
up vote
1
down vote
favorite
I am trying to replicate font and color from a given java.awt.Color
and java.awt.Font
in my Excel file created using apache POI. The latter works, however setting the color does not: while my fonts in Excel are colored green when directly set so by using IndexedColors.GREEN.getIndex()
, using the java.awt.Color
to create a XSSFColor
does not work (see code below). How do i get the (closest) IndexedColor
or even better use the original value of java.awt.Color
in my POI font?
Current code snippet:
Font font = workbook.createFont();
//font.setColor(IndexedColors.GREEN.getIndex()); //Works
font.setColor(new XSSFColor(java.awt.Color.GREEN).getIndex()); //Does not work
font.setFontName(getFont(i,j).getFamily());
font.setFontHeightInPoints((short)getFont(i,j).getSize());
font.setItalic(getFont(i,j).isItalic());
font.setBold(getFont(i,j).isBold());
(Apache POI 3.17)
java colors apache-poi awt
add a comment |
up vote
1
down vote
favorite
I am trying to replicate font and color from a given java.awt.Color
and java.awt.Font
in my Excel file created using apache POI. The latter works, however setting the color does not: while my fonts in Excel are colored green when directly set so by using IndexedColors.GREEN.getIndex()
, using the java.awt.Color
to create a XSSFColor
does not work (see code below). How do i get the (closest) IndexedColor
or even better use the original value of java.awt.Color
in my POI font?
Current code snippet:
Font font = workbook.createFont();
//font.setColor(IndexedColors.GREEN.getIndex()); //Works
font.setColor(new XSSFColor(java.awt.Color.GREEN).getIndex()); //Does not work
font.setFontName(getFont(i,j).getFamily());
font.setFontHeightInPoints((short)getFont(i,j).getSize());
font.setItalic(getFont(i,j).isItalic());
font.setBold(getFont(i,j).isBold());
(Apache POI 3.17)
java colors apache-poi awt
Have you tried font.setColor(new XSSFColor(java.awt.Color.GREEN)) ?
– PJ Fanning
Nov 22 at 22:57
Just checked to be sure, Font.setFont expects ashort
value (-> error if i try it this way).
– ptstone
Nov 23 at 13:07
github.com/apache/poi/blob/trunk/src/ooxml/java/org/apache/poi/…
– PJ Fanning
Nov 23 at 17:10
1
XSSFWorkbook#createFont returns XSSFFont (an implementation of Font) and this XSSFFont class has a setColor(XSSFColor) method.
– PJ Fanning
Nov 23 at 17:20
Thank you! For some reason my javadoc shows "All Known Implementing Classes: HSSFFont" fororg.apache.poi.ss.usermodel.Font
. But XSSFFont also implements it and it works like you said. If you want to put this as answer i will certainly accept.
– ptstone
Nov 23 at 17:29
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I am trying to replicate font and color from a given java.awt.Color
and java.awt.Font
in my Excel file created using apache POI. The latter works, however setting the color does not: while my fonts in Excel are colored green when directly set so by using IndexedColors.GREEN.getIndex()
, using the java.awt.Color
to create a XSSFColor
does not work (see code below). How do i get the (closest) IndexedColor
or even better use the original value of java.awt.Color
in my POI font?
Current code snippet:
Font font = workbook.createFont();
//font.setColor(IndexedColors.GREEN.getIndex()); //Works
font.setColor(new XSSFColor(java.awt.Color.GREEN).getIndex()); //Does not work
font.setFontName(getFont(i,j).getFamily());
font.setFontHeightInPoints((short)getFont(i,j).getSize());
font.setItalic(getFont(i,j).isItalic());
font.setBold(getFont(i,j).isBold());
(Apache POI 3.17)
java colors apache-poi awt
I am trying to replicate font and color from a given java.awt.Color
and java.awt.Font
in my Excel file created using apache POI. The latter works, however setting the color does not: while my fonts in Excel are colored green when directly set so by using IndexedColors.GREEN.getIndex()
, using the java.awt.Color
to create a XSSFColor
does not work (see code below). How do i get the (closest) IndexedColor
or even better use the original value of java.awt.Color
in my POI font?
Current code snippet:
Font font = workbook.createFont();
//font.setColor(IndexedColors.GREEN.getIndex()); //Works
font.setColor(new XSSFColor(java.awt.Color.GREEN).getIndex()); //Does not work
font.setFontName(getFont(i,j).getFamily());
font.setFontHeightInPoints((short)getFont(i,j).getSize());
font.setItalic(getFont(i,j).isItalic());
font.setBold(getFont(i,j).isBold());
(Apache POI 3.17)
java colors apache-poi awt
java colors apache-poi awt
edited Nov 22 at 16:41
asked Nov 22 at 16:17
ptstone
13110
13110
Have you tried font.setColor(new XSSFColor(java.awt.Color.GREEN)) ?
– PJ Fanning
Nov 22 at 22:57
Just checked to be sure, Font.setFont expects ashort
value (-> error if i try it this way).
– ptstone
Nov 23 at 13:07
github.com/apache/poi/blob/trunk/src/ooxml/java/org/apache/poi/…
– PJ Fanning
Nov 23 at 17:10
1
XSSFWorkbook#createFont returns XSSFFont (an implementation of Font) and this XSSFFont class has a setColor(XSSFColor) method.
– PJ Fanning
Nov 23 at 17:20
Thank you! For some reason my javadoc shows "All Known Implementing Classes: HSSFFont" fororg.apache.poi.ss.usermodel.Font
. But XSSFFont also implements it and it works like you said. If you want to put this as answer i will certainly accept.
– ptstone
Nov 23 at 17:29
add a comment |
Have you tried font.setColor(new XSSFColor(java.awt.Color.GREEN)) ?
– PJ Fanning
Nov 22 at 22:57
Just checked to be sure, Font.setFont expects ashort
value (-> error if i try it this way).
– ptstone
Nov 23 at 13:07
github.com/apache/poi/blob/trunk/src/ooxml/java/org/apache/poi/…
– PJ Fanning
Nov 23 at 17:10
1
XSSFWorkbook#createFont returns XSSFFont (an implementation of Font) and this XSSFFont class has a setColor(XSSFColor) method.
– PJ Fanning
Nov 23 at 17:20
Thank you! For some reason my javadoc shows "All Known Implementing Classes: HSSFFont" fororg.apache.poi.ss.usermodel.Font
. But XSSFFont also implements it and it works like you said. If you want to put this as answer i will certainly accept.
– ptstone
Nov 23 at 17:29
Have you tried font.setColor(new XSSFColor(java.awt.Color.GREEN)) ?
– PJ Fanning
Nov 22 at 22:57
Have you tried font.setColor(new XSSFColor(java.awt.Color.GREEN)) ?
– PJ Fanning
Nov 22 at 22:57
Just checked to be sure, Font.setFont expects a
short
value (-> error if i try it this way).– ptstone
Nov 23 at 13:07
Just checked to be sure, Font.setFont expects a
short
value (-> error if i try it this way).– ptstone
Nov 23 at 13:07
github.com/apache/poi/blob/trunk/src/ooxml/java/org/apache/poi/…
– PJ Fanning
Nov 23 at 17:10
github.com/apache/poi/blob/trunk/src/ooxml/java/org/apache/poi/…
– PJ Fanning
Nov 23 at 17:10
1
1
XSSFWorkbook#createFont returns XSSFFont (an implementation of Font) and this XSSFFont class has a setColor(XSSFColor) method.
– PJ Fanning
Nov 23 at 17:20
XSSFWorkbook#createFont returns XSSFFont (an implementation of Font) and this XSSFFont class has a setColor(XSSFColor) method.
– PJ Fanning
Nov 23 at 17:20
Thank you! For some reason my javadoc shows "All Known Implementing Classes: HSSFFont" for
org.apache.poi.ss.usermodel.Font
. But XSSFFont also implements it and it works like you said. If you want to put this as answer i will certainly accept.– ptstone
Nov 23 at 17:29
Thank you! For some reason my javadoc shows "All Known Implementing Classes: HSSFFont" for
org.apache.poi.ss.usermodel.Font
. But XSSFFont also implements it and it works like you said. If you want to put this as answer i will certainly accept.– ptstone
Nov 23 at 17:29
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
XSSFWorkbook#createFont returns XSSFFont (an implementation of Font) and this XSSFFont class has a setColor(XSSFColor) method.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
XSSFWorkbook#createFont returns XSSFFont (an implementation of Font) and this XSSFFont class has a setColor(XSSFColor) method.
add a comment |
up vote
1
down vote
accepted
XSSFWorkbook#createFont returns XSSFFont (an implementation of Font) and this XSSFFont class has a setColor(XSSFColor) method.
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
XSSFWorkbook#createFont returns XSSFFont (an implementation of Font) and this XSSFFont class has a setColor(XSSFColor) method.
XSSFWorkbook#createFont returns XSSFFont (an implementation of Font) and this XSSFFont class has a setColor(XSSFColor) method.
answered Nov 23 at 17:58
PJ Fanning
42628
42628
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53434889%2fapache-poi-indexed-color-from-awt-color-input%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Have you tried font.setColor(new XSSFColor(java.awt.Color.GREEN)) ?
– PJ Fanning
Nov 22 at 22:57
Just checked to be sure, Font.setFont expects a
short
value (-> error if i try it this way).– ptstone
Nov 23 at 13:07
github.com/apache/poi/blob/trunk/src/ooxml/java/org/apache/poi/…
– PJ Fanning
Nov 23 at 17:10
1
XSSFWorkbook#createFont returns XSSFFont (an implementation of Font) and this XSSFFont class has a setColor(XSSFColor) method.
– PJ Fanning
Nov 23 at 17:20
Thank you! For some reason my javadoc shows "All Known Implementing Classes: HSSFFont" for
org.apache.poi.ss.usermodel.Font
. But XSSFFont also implements it and it works like you said. If you want to put this as answer i will certainly accept.– ptstone
Nov 23 at 17:29