sorry forgot to add the code block
Workbook wb = new XSSFWorkbook(); //or new HSSFWorkbook();
//Workbook wb = new HSSFWorkbook();
CreationHelper helper = wb.getCreationHelper();
//add a picture in this workbook.
InputStream is = new FileInputStream(args[0]);
byte[] bytes = IOUtils.toByteArray(is);
is.close();
int pictureIdx = wb.addPicture(bytes,
Workbook.PICTURE_TYPE_JPEG);
//create sheet
Sheet sheet = wb.createSheet();
CellStyle hlink_style = wb.createCellStyle();
Font hlink_font = wb.createFont();
hlink_font.setUnderline(Font.U_SINGLE);
hlink_font.setColor(IndexedColors.BLUE.getIndex());
hlink_style.setFont(hlink_font);
Cell cell;
//URL
cell = sheet.createRow(1).createCell((short)1);
Hyperlink link = helper.createHyperlink(Hyperlink.LINK_URL);
link.setAddress("http://poi.apache.org/");
cell.setHyperlink(link);
cell.setCellStyle(hlink_style);
sheet.setColumnWidth(1, sheet.getColumnWidth(0) *6);
//create drawing
Drawing drawing = sheet.createDrawingPatriarch();
//Reset the image to the original size.
//picture.resize();
//picture.setLineStyle( picture.LINESTYLE_DASHDOTGEL );
//add a picture shape
ClientAnchor anchor = helper.createClientAnchor();
//sheet.setColumnWidth(1, sheet.getColumnWidth(0) *2);
anchor.setCol1(1);
anchor.setRow1(1);
anchor.setCol2(2);
anchor.setRow2(2);
Picture pict = drawing.createPicture(anchor, pictureIdx);
String file = "picture.xls";
if(wb instanceof XSSFWorkbook) file += "x";
FileOutputStream fileOut = new FileOutputStream(file);
wb.write(fileOut);
fileOut.close();
Regards
A
-----Original Message-----
From: Avinash Kewalramani [mailto:[email protected]]
Sent: Thursday, March 19, 2009 5:04 PM
To: POI Users List
Subject: RE: Writing html code to xls cell
Hi
This is sort of related to this thread.I just want to create a hyperlink
on a image
in a cell. Excel allows it but there is no example or api method I can
find that does that
Here is the code I have and it does not create hyperlinks on images.
Mark talked about icons with links. how do you do that Mark with XSSF? I
could use the same idea for images
as hyperlinks.
Thanks for any pointers.
Regards
A
-----Original Message-----
From: MSB [mailto:[email protected]]
Sent: Thursday, March 12, 2009 10:44 AM
To: [email protected]
Subject: Re: Writing html code to xls cell
The problem - at least to my mind - that you face, is that you wish to
place
a rendered copy of the html markup into a cell; and it is the 'rendering'
part of the problem that is the real stumbling block. The only way that I
can think of to accomplish this is to use something like IE or Firefox to
open the html and generate a rendered page, then grab an image and save
that
away as a bmp or jpg - I cannot remember which one can be placed onto a
spreadsheet offhand sorry - then you could position the image onto an
Excel
spreadsheet. Even then, I do not think that you can guarantee that each
image will occupy a single cell. Furthermore, I think that you will face
just the same sorts of issues with .doc or Rich Text Format files,
because
both include the content - the text, tables, pictures, etc - and
formatting
information.
Could you not look at modifying what you want to do? I know that it is
possible to place hyperlinks into cells, what I do not know is whether
you
could create an icon that sort of resembles the document you want to
open,
place that in the cell, mark it as a hyperlink and link to the original
file
such that if the user clicks on the icon the file is opened using the
default application for that file type; Word for .doc and .rtf
(propably),
IE or Firefox for html files and so on.
Aside from that, I am out of ideas, sorry.
Satish HS wrote:
Dear MSB,
Thanks again. Yes, My requirement is to write a complete html page to
one
single cell. However, if that is not possible, I would like to know if
there
is any way to write a complete .doc file or any RTF file to a single
cell?
Or any other swing component that I can use for rich text editing whose
content can be exported to a single cell retaining all the format?
Thanks for your help. I hope you don't mind me asking further.
Thanks,
Satish HS
On Thu, Mar 12, 2009 at 3:23 AM, MSB <[email protected]> wrote:
Have you changed the requirement or are you saying that you want to
open
an
html file, parse the markup, render a complete page so that it
resembles
the
sort of display you would see in a browser,and then write that page
into
a
single cell of an Excel spreadhseet? If so, then the answer is no,
sorry.
I
do not have the ability, skills or time to create what amounts to a
browser.
Satish HS wrote:
Thanks for the response. I truly appreciate it. Regarding your
question
about the font and size, it will be specified in the html code.My
actual
need is to populate each cell with separate html-files. So, each
cell
corresponds to a html-file.
I already have the java code which stores the html code in text
file(s),
how
can I populate each cell with separate file.
Can I do this with your solution of using Desktop class? Can you send
me
a
small code snippet of it, if its not too much to ask.
Thanks,
Satish HS
On Wed, Mar 11, 2009 at 2:19 PM, MSB <[email protected]>
wrote:
Right, now I understand. You want HSSF to parse html markup for you.
The short answer to your question then is no, it cannot do this. You
will
have to create a tool to parse the html and extract the information
from
the
markup to create the cells. As an example of what I mean, what font
and
what
size should HSSF use to render the example you gave?
Just a simple question, why do you want to use HSSF to populate an
Excel
spreadsheet in this manner? Did you know that you can use Excel to
open
an
html file and that it - Excel that is - can parse the markup and
render
the
page for you? A short way around your problem would be to use Java
to
create
a text file containing the html code and then ask it to start Excel
for
you
using the Desktop class.
Satish HS wrote:
Alright, here is my need, My input is a html String as below:
String str = "<html>Some word</html>";
How do I pass this on using the API to Excel Cell, I want the
excel
cell
to
display "Some word" in italic.
The actual need is not just to display the italic but to support
all
types
of html (rtf, background color, font, including images etc..)
I hope it is clear now, please let me know if you any doubts.
Regards,
Satish HS
On Wed, Mar 11, 2009 at 3:56 AM, MSB <[email protected]>
wrote:
cell
--
View this message in context:
http://www.nabble.com/Writing-html-code-to-xls-cell-tp22441551p22461389.html
Sent from the POI - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
--
View this message in context:
http://www.nabble.com/Writing-html-code-to-xls-cell-tp22441551p22471025.html
Sent from the POI - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
--
View this message in context:
http://www.nabble.com/Writing-html-code-to-xls-cell-tp22441551p22481814.html
Sent from the POI - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]