Rober, To calculate column width HSSFSheet.autoSizeColumn uses Java2D classes that throw exception if graphical environment is not available. However, some tasks such as computing text layout can be done in a headless mode, that is in the absence of graphical environment.
To use headless mode you must set the following system property: java.awt.headless=true either via -Djava.awt.headless=true startup parameter or via System.setProperty("java.awt.headless", "true"). As Dave mentioned, there can be slight differences in the result: - Native graphical toolkits (WinXP or Unix with X11) are always more precise than the headless toolkit. The way the font metrics are calculated may be different in headless and headful modes. Moreover, it may different on different platforms, i.e. there can be minor differences between text metrics calculated under Solaris and under WinXP. That is why projects that require high-precision, platform-independent graphic calculations use their own mechanism to measure text (for example, Apache FOP). I don't think it's an issue in our case. Auto-sizing in Excel is a rough operation - user needs to APPROXIMATELY set column width to fit the text. - If some of the fonts are not available, JDK uses the default font. So if any fonts are missing in production you need to install them and copy font files to $JAVA_HOME/jre/lib/fonts/. P.S. It's good you raised this question. I'm going to update the docs to reflect it. Regards, Yegor DF> Rober, DF> As Andy says ask on the list. DF> In your Tomcat startup on the unix server you need to be sure to set DF> the following property - DF> -Djava.awt.headless=true DF> Do that and all should be good. DF> If you notice slight differences in widths between windows and unix DF> that may be due to the fact that autoSizeColumn uses fonts to do its DF> magic. (Which is why it needs the "graphic environment") So, then you DF> might want to install fonts into /usr/java/jre/lib/fonts/ on the unix DF> box. If you get stuck with that then you can ask again - Yegor can DF> explain the exact rules. DF> Regards, DF> Dave DF> On May 3, 2007, at 6:57 PM, [EMAIL PROTECTED] wrote: >> DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ· >> RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT >> <http://issues.apache.org/bugzilla/show_bug.cgi?id=42331>. >> ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ· >> INSERTED IN THE BUG DATABASE. >> >> http://issues.apache.org/bugzilla/show_bug.cgi?id=42331 >> >> Summary: autoSizeColumn. Exception in non graphical >> environment >> Product: POI >> Version: 3.0-dev >> Platform: Other >> OS/Version: other >> Status: NEW >> Severity: normal >> Priority: P2 >> Component: HSSF >> AssignedTo: [EMAIL PROTECTED] >> ReportedBy: [EMAIL PROTECTED] >> >> >> I developed a webapp that generates excel files. Development >> environment is >> Tomcat server under Windows XP. Production server is a Unix machine >> with no >> graphical environment. >> >> autoSizeColumn method, from HSSFSheet class, works ok in windows, >> but throws an >> exception in unix environment. The lack of graphical environment >> seems to be the >> reason. >> >> -- >> Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi? >> tab=email >> ------- You are receiving this mail because: ------- >> You are the assignee for the bug, or are watching the assignee. >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> Mailing List: http://jakarta.apache.org/site/mail2.html#poi >> The Apache Jakarta POI Project: http://jakarta.apache.org/poi/ >> >> DF> --------------------------------------------------------------------- DF> To unsubscribe, e-mail: [EMAIL PROTECTED] DF> Mailing List: http://jakarta.apache.org/site/mail2.html#poi DF> The Apache Jakarta POI Project: http://jakarta.apache.org/poi/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] Mailing List: http://jakarta.apache.org/site/mail2.html#poi The Apache Jakarta Poi Project: http://jakarta.apache.org/poi/