[prev in list] [next in list] [prev in thread] [next in thread] 

List:       poi-user
Subject:    Re: display image in a cell thru a Excel UDF
From:       Princess <hepzibahr () googlemail ! com>
Date:       2008-12-11 18:58:13
Message-ID: 7eb08cd80812111058r3ed2b7e0m2f49229202298874 () mail ! gmail ! com
[Download RAW message or body]


Sorry just ignore the error i mentioned....

On Thu, Dec 11, 2008 at 7:51 PM, Princess <hepzibahr@googlemail.com> wrote:

> I am using POI 3.0.2-FINAL .I getthe following error  The method
> addPicture(byte[], int) is undefined for the type HSSFWorkbook
>
> int pictureIndex = wb.addPicture(data, HSSFPicture.PICTURE_TYPE_PNG);
>
>
>
>
> On Thu, Dec 11, 2008 at 5:06 PM, David Fisher <dfisher@jmlafferty.com>wrote:
>
>> User Defined Functions are not implemented, nor are they likely to be.
>> They are unique to any Excel installation and they can present themselves in
>> many ways and be implemented different technologies that Microsoft and Apple
>> have introduced.
>>
>> If all your ShowPicD function does is place the Image into the cell then
>> you would need to look into using a version of this code that Yegor posted
>> on another thread.:
>>
>>  public void main(String[] args) throws IOException {
>>       //read picture bytes from file system
>>       byte[] data = readPicture("checkbox.jpg");
>>
>>       HSSFWorkbook wb = new HSSFWorkbook();
>>       //picture data is a workbook-global object and can be shared between
>> multiple pictures
>>       int pictureIndex = wb.addPicture(data,
>> HSSFPicture.PICTURE_TYPE_JPEG);
>>
>>       HSSFSheet sheet = wb.createSheet();
>>       HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
>>
>>       //all pictures use the same picture index, thus sharing the same
>> picture data
>>       HSSFPicture pic1 =  patriarch.createPicture(new HSSFClientAnchor(0,
>> 0, 0, 0,
>>               (short)0, 0, (short)1, 1), pictureIndex);
>>       HSSFPicture pic2 =  patriarch.createPicture(new HSSFClientAnchor(0,
>> 0, 0, 0,
>>               (short)2, 2, (short)3, 3), pictureIndex);
>>       HSSFPicture pic3 =  patriarch.createPicture(new HSSFClientAnchor(0,
>> 0, 0, 0,
>>               (short)4, 4, (short)5, 5), pictureIndex);
>>
>>
>>       FileOutputStream out = new
>> FileOutputStream("shared_picture_data.xls");
>>       wb.write(out);
>>       out.close();
>>   }
>>
>> Try it out with modification, change the picture type. Understand
>> HSSFClientAnchor, and I think you'll see how to adapt your code.
>>
>> Good luck.
>>
>> Regards,
>> Dave
>>
>>
>> On Dec 11, 2008, at 9:49 AM, Princess wrote:
>>
>>  I have  a function which shows the .png  in a cell.
>>> Now the parameter to the function is a dynamic path
>>> for eg =ShowPicD("C:\test\a.png") when i try this out
>>> in excel it works fine .But when i try the same  thru POI and
>>> set this as a formula it throws error and does not show
>>> the image in the cell ..
>>>
>>> Can anyone tell me where do i go wrong
>>>
>>> HSSFCell cellImagePath = rowImagePath.getCell((short) 5);
>>>           if(cellImagePath == null){
>>>               cellImagePath = rowImagePath.createCell((short) 5);
>>>
>>>           String formula ="ShowPicD(\""+imagePath+"\")";
>>>           cellImagePath.setCellFormula(formula);
>>>
>>> --
>>> Hepzibah
>>> **Hope can be ignited by a spark of encouragement *****
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@poi.apache.org
>> For additional commands, e-mail: user-help@poi.apache.org
>>
>>
>
>
> --
> Hepzibah
> **Hope can be ignited by a spark of encouragement *****
>



-- 
Hepzibah
**Hope can be ignited by a spark of encouragement *****


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic