× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Rich,

I have an idea...not sure if this is right or not but here goes...

before you call this program try changing your current directory to the 
directory where the XLWorkBook.java file is...

CHGCURDIR DIR('/QIBM/UserData/Java400/ext/')...or where ever you put the 
java file...

see if that works...

Shane Cessna  
iSeries Programmer
iSeries WAS Administrator
North American Lighting, Inc.
(618) 662-4483 x2776
shane_cessna@xxxxxxx 



"Rich Dotson" <rich_dotson@xxxxxxxxxxx> 
Sent by: java400-l-bounces@xxxxxxxxxxxx
10/11/2005 08:16 AM
Please respond to
Java Programming on and around the iSeries / AS400 
<java400-l@xxxxxxxxxxxx>


To
java400-l@xxxxxxxxxxxx
cc

Subject
Re: HSSF error when reading an existing Excel spreadsheet






Shane,

I changed the CLASSPATH and was able to compile the XLWorkBook.java 
program. 
   I added the openXL procedure to my RPG program just as you described in 

the previous email.  Now when I run the RPG program I get the following 
error:

Message ID . . . . . . :   RNX0301       Severity . . . . . . . :   50
Message type . . . . . :   Diagnostic
Date sent  . . . . . . :   10/11/05      Time sent  . . . . . . : 09:00:30

Message . . . . :   Java exception received when calling Java method.
Cause . . . . . :   RPG procedure XLSOPEN in program U28871/XLSOPEN 
received
   Java exception "java.lang.UnsatisfiedLinkError:" when calling method 
"load"
   with signature "" in class "XLWorkBook".

The error occurred on line 50 below:

49         fileName = new_String('/excel/BBNExpress.xls');
50         book = openXL(fileName);


Thanks for all the help....


Here's the new version of the RPG program:

H DFTACTGRP(*NO)
H OPTION(*SRCSTMT: *NODEBUGIO: *NOSHOWCPY)
H THREAD(*SERIALIZE)
H BNDDIR('OSBBNDDIR' : 'QC2LE')

/copy qOSBCPYSRC,hssf_h

D book            s                   like(HSSFWorkbook)
D sheet           s                   like(HSSFSheet)
D row             s                   like(HSSFRow)
D cell            s                   like(HSSFCell)
D TempStr         s                   like(jString)
D StrVal          s             52A   varying
D NumVal          s              8F
D type            s             10I 0

D String_getBytes...
D                 pr          1024A   varying
D                                     extproc(*JAVA:
D                                     'java.lang.String':
D                                     'getBytes')

d openXL          pr              o   extproc(*JAVA
d                                     :'XLWorkBook'
d                                     :'loadWB')
d                                     CLASS(*JAVA:
d                                     'org.apache.poi.hssf.usermodel-
d                                     .HSSFWorkbook')
d                                     static
d  fileName                           like(jString)

d fileName        s                   like(jString)

* Put environment variable
D PutEnv          pr            10i 0 ExtProc('putenv')
D  EnvVar                         *   value options(*string)

D rc              s             10i 0
/free

  // set CLASSPATH environment
  rc = putenv('CLASSPATH=/excel/POI-2.0.jar');

  hssf_begin_object_group(100);

  // Load the BBN Express Spreadsheet into memory
  // --->book = hssf_open('/excel/BBNExpress.xls');

  fileName = new_String('/excel/BBNExpress.xls');
  book = openXL(fileName);

// Get the first cell
sheet = hssf_getSheet(book: 'Sept 20');
row   = HSSFSheet_getRow(sheet: 2);
cell = HSSFRow_GetCell(row: 2);
type = HSSFCell_getCellType(cell);
StrVal = 'Cell B2 = ';

  select;
  when type = CELL_TYPE_STRING;
     StrVal +=
       String_getBytes(HSSFCell_getStringCellValue(cell));
  when type = CELL_TYPE_FORMULA;
     StrVal += String_getBytes(HSSFCell_getCellFormula(cell));
  when type = CELL_TYPE_NUMERIC;
     NumVal = HSSFCell_getNumericCellValue(cell);
     StrVal += %char(%dech(NumVal:15:2));
   endsl;

   dsply StrVal;

   hssf_save(book: '/excel/BBNExpress.xls');
   hssf_end_object_group();

   *inlr = *on;

/end-free

_________________________________________________________________
Don’t just search. Find. Check out the new MSN Search! 
http://search.msn.click-url.com/go/onm00200636ave/direct/01/


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.