请教各位大牛,怎么样写oracle的存储过程来读取.xls文件内的数据到数据库中?
我写了一个java源,但是要用到jxl.jar,不知道怎么样使oracle调用到jxl代码如下:
create or replace and compile java source named readexcel as
import jxl.Sheet;
import jxl.Cell;
import java.io.InputStream;
import java.util.Vector;
import java.io.FileInputStream;
import jxl.Workbook;public class ReadExcel
{
  public static void read(String directory1)
  { 
    String elementrq=null,elementecbm=null,elementch=null,elementkssj=null,ele
mentjssj=null;
    String elementcyds=null,elementcyd1=null,elementcyd2=null,elementcyd3=null
,elementcysd=null,elementgh=null;
    jxl.Workbook rwb = null;
    try{
      //构建Workbook对象, 只读Workbook对象
      //直接从本地文件创建Workbook
      //从输入流创建Workbook
      InputStream is = new FileInputStream(directory1);
      rwb = Workbook.getWorkbook(is);      //获取第一张Sheet表
       Sheet rs = rwb.getSheet(0);
       //获取Sheet表中所包含的总列数
       int rsColumns = rs.getColumns();
       //获取Sheet表中所包含的总行数
       int rsRows = rs.getRows();
       //获取指定单元格的对象引用
       for(int i=2;i<rsRows;i++){
         for(int j=0;j<rsColumns;j++){
           Cell cell = rs.getCell(j,i);
           switch(j) {
                case 0:elementrq=cell.getContents(); break;
                case 1:elementecbm=cell.getContents(); break;
                case 2:elementch=cell.getContents(); break;
                case 3:elementkssj=cell.getContents(); break;
                case 4:elementjssj=cell.getContents(); break;
                case 5:elementcyds=cell.getContents(); break;
                case 6:elementcyd1=cell.getContents(); break;
                case 7:elementcyd2=cell.getContents(); break;
                case 8:elementcyd3=cell.getContents(); break;
                case 9:elementcysd=cell.getContents(); break;
                case 10:elementgh=cell.getContents(); break; 
            }//end switch
          }//end for(insides)
     #sql{INSERT INTO HC_JXCY(rq,ecbm,ch,kssj,jssj,cyds,cyd1,cyd2,cyd3,cysd,gh
)
          VALUES(:elementrq,:elementecbm,:elementch,:elementkssj,:elementjssj,
:elementcyds,:elementcyd1,:elementcyd2,:elementcyd3,:elementcysd,:elementgh)};
 
     #sql{commit};  
     }//end for(outsides)
    }catch(Exception e){;}
    finally{
      //操作完成时,关闭对象,释放占用的内存空间
      rwb.close();
    }
  }
}出错信息如下:
JAVA SOURCE SYSTEM.READEXCEL 编译错误错误: Class jxl.Sheet not found in import.
行: 2
文本: import jxl.Sheet;错误: Class jxl.Cell not found in import.
行: 3
文本: import jxl.Cell;错误: Class jxl.Workbook not found in import.
行: 7
文本: import jxl.Workbook;请假各位怎么解决?时间比较急,不胜感谢!
我新手,不知道这里给分得分怎么弄,麻烦各位帮忙一下,以后知道怎么弄分了一定给!

解决方案 »

  1.   

    找到解决方法了,自己结贴,输入命令:
    loadjava   -u   test/test@test   -resolve   f:\jxl.jar
      

  2.   

    怎么 还是不行了 大哥 
    Compilation errors for JAVA SOURCE VMS.READEXCELError: READEXCEL:1: cannot access jxl.Sheet
    Line: 1
    Text: create or replace and compile java source named readExcel  asError: bad class file: null
    Line: 1
    Text: create or replace and compile java source named readExcel  asError: class file has wrong version 50.0, should be 48.0
    Line: 1
    Text: create or replace and compile java source named readExcel  asError: Please remove or make sure it appears in the correct subdirectory of the classpath.
    Line: 1
    Text: create or replace and compile java source named readExcel  asError: import   jxl.Sheet;
    Line: 1
    Text: create or replace and compile java source named readExcel  asError: ^
    Line: 1
    Text: create or replace and compile java source named readExcel  asError: 1 error
    Line: 1
    Text: create or replace and compile java source named readExcel  as