Thanks a lot MSB for your answer and also for taking the time(if possible) to look into this. I will try to dig on my own and see if I find something too.I will post it here if I do.
Regards A -----Original Message----- From: MSB [mailto:[email protected]] Sent: Friday, March 20, 2009 12:42 AM To: [email protected] Subject: RE: Writing html code to xls cell When Satish and I talked about using hyperlinks, I said that I knew it was possible to add a hyperlink to a cell but that I did not know if it was possible to use an image as the anchor for the hyperlink. So I am sorry to say that I do not know the answer to your question at this time. I will take a look over the weekend if I have the time however. itextaccel wrote: > > 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] > > > -- View this message in context: http://www.nabble.com/Writing-html-code-to-xls-cell-tp22441551p22615547.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]
