Thanks for the clarification Michael.
I can confirm that the code I am experiencing problems with is the same code (unaltered) that works with POI 2.0. Just as an interesting side note the code itself does not error with 2.5 it just produces a non-readable file.
I'll add a bugzilla report.
Cheers,
Tim
Michael Zalewski wrote:
In the case of formulas, you should be OK unless you are using =EMBED(). In the case of macros, you should also be OK unless you have a button on the page to execute the macro.
If you are trying to modify a sheet which already contains an image, that is where you are probably finding a problem. However, modifying a sheet that contains just a simple image should work just fine. If your worksheet contains things that POI 2.5 does not understand - I can think of images that have associated hyperlinks or macros, for example - you will likely end up with a corrupt file.
POI 2.0 did not touch the Escher layer, so it didn't have this problem. But POI 2.5 does the same thing unless you use the new drawing API. So POI 2.5 should work to modify a spreadsheet which contains drawings. Are you saying that this is the case? (I.e., your code which worked in 2.0 now does not work in 2.5, even though you did not add any of the new API? If that is the case, you should post to Bugzilla, and the problem might get fixed soon. If you are trying to update the Escher layer, that will probably take a while longer).
-----Original Message----- From: Tim Wilkins [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 01, 2004 4:52 AM To: POI Users List Subject: Re: Problems with POI 2.5
Thanks for that explanation Michael. Could you clarify for me if formula cells and macro's are also Escher objects?
In my particular use case I don't have any of the objects you described but with POI 2.5 my code produces non-readable xls files. However I do modify sheets with images already embedded. Am I right in saying that the reason POI 2.0 worked was because it did not touch the Escher layer and so did not corrupt it?
Does anyone know if this corruption issue of the Escher layer look like being solved anytime soon or is it currently a black whole issue that might be with us for some time?
Any information greatfully received.
Cheers,
Tim
Michael Zalewski wrote:
onYou should be aware that a lot of objects that can be embedded into a spreadsheet are 'Escher' objects. I would change what Andy said from 'The main problem will be in modifying sheets with embedded graphics' to 'The main problem will be in modifying sheets with embedded Escher objects'.
The main problems in 2.5 will occur if you try to modify the Escher layer
a workbook that already contains an Escher layer. If you don't use Eschermodification,
objects at all, create them from scratch, or copy them without
dialogs andthings work much better.
Objects which are affected by the Escher layer include
1) Embedded Charts
2) Embedded Office documents and drawings
3) Buttons, drop down boxes, text areas (as associated with user
VBA)arrows,
4) Comments
5) Embedded office applets, such as word art, organization charts,
equations, etc.
6) Embedded line art, even if it does not contain an image (such as
button...lines, circles, etc.)
All of the above (and probably even more things) are part of Escher. I have
found the main problem with POI 2.5 is that it destroys the Escher layer if
you attempt to insert a graphic or other drawing. Works much better if you
either have all your graphics in a template, or if you have a template with
none of the above objects. For example, if you try to use POI to add a
single graphic to a spreadsheet which contains a single comment or
them.*boom*.
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Monday, May 31, 2004 12:19 PM To: [EMAIL PROTECTED] Subject: Re: Problems with POI 2.5
POI 2.5 is a production release. The main problem will be in modifying
sheets with embedded graphics. Graphics support is pretty complete for
creating embedded Escher graphics but is not as complete for modifying
If your use case does not involve modifying sheets containing embeddedadvocate
graphics 2.5 and 2.0 are pretty much the same code. Again, I never
coding *anything* without unit tests to prove it works. Unit tests will allow you to code with confidence.
-Andy -- Andrew C. Oliver http://www.superlinksoftware.com/poi.jsp Custom enhancements and Commercial Implementation for Jakarta POI
http://jakarta.apache.org/poi For Java and Excel, Got POI?
The views expressed in this email are those of the author and are almost definitely not shared by the Apache Software Foundation, its board or its general membership. In fact they probably most definitively disagree with everything espoused in the above email.
From: KH Lim <[EMAIL PROTECTED]> Reply-To: "POI Users List" <[EMAIL PROTECTED]> Date: Mon, 31 May 2004 21:23:02 +0900 (JST) To: [EMAIL PROTECTED] Subject: Problems with POI 2.5
Has anyone came across this issue whether codes work under POI 2.0 but not 2.5?
I can use 2.0, but HSSFSheet.setRowBreak is only available in POI 2.5 ...
thx
__________________________________________________ Do You Yahoo!? http://bb.yahoo.co.jp/
--------------------------------------------------------------------- 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]
--------------------------------------------------------------------- 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]
