EXCEL中与数据库打交道的好工具-JXL

usstlidawei 2009-10-11

经常要将EXCEL和数据库打交道的话,建议推荐使用一个好的开源工具JXL,下面小结如何将其EXCEL数据导入到数据库,

以及如何把数据库的数据导出到EXCEL.

1)EXCEL的表格导入数据库

假设有一个EXCEL,有两个SHEET,记得第一个sheet序号是0,第2个sheet的序号是1.

importjxl.Cell;

importjxl.Sheet;

importjxl.Workbook;

importjxl.read.biff.BiffException;

主要方法为:

   InputStream fs = null;

Workbookrbw=null;

    try{

       try {      

fs=newFileInputStream(file);

rbw=Workbook.getWorkbook(fs);

System.out.println("加载本地excel文件成功!");

}catch(FileNotFoundExceptione){

e.printStackTrace();

}catch(BiffExceptione){

e.printStackTrace();

}catch(IOExceptione){

e.printStackTrace();

}

Sheetbook=null;

SheetbookSingle=null;

try{

book=rbw.getSheet(0);//第一个sheet

}catch(Exceptione){

e.printStackTrace();

}

         System.out.println("取得excel文件sheet成功!"); 

         rsRows=book.getRows();//获取第一个sheet表的总行数

for(inti=1;i<rsRows;i++){

//获取excel文件中数据

//第i行第0列

Cellcell0=book.getCell(0,i);

Stringusercode=cell0.getContents();

//第i行第1列

Cellcell1=book.getCell(1,i);

Stringorg_name=cell1.getContents();

}

注意这里的book.getCell(0,i),是从第I行第0列这样写的,就是反过来

2)数据库到EXCEL

Filefile=newFile("xxx.xls");

 WritableWorkbook book = Workbook.createWorkbook(new File(fileName));

    // 生成名为“SheetOne”的工作表,参数0表示这是第一个sheet    WritableSheet sheet = book.createSheet("SheetOne", 0);

   // 在Label对象的构造子中指名单元格位置是第一列第一行(0,0),以及单元格内容        Label chs_name_LbTitle=new Label(0, 0, "中文名称");

     ............................................         sheet.addCell(chs_name_LbTitle);

 Label ent_name_cCell=new Label(0, 1, 要写入的实际数据);

sheet.addCell(ent_name_cCell);

book.write();

book.close();

相关推荐