`
yaoyao19851023
  • 浏览: 32173 次
  • 性别: Icon_minigender_2
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

jxl处理excel文件

    博客分类:
  • jxl
阅读更多
haha先留下以后几不用搜索了。    

之前都没有用java去操作过excel,项目需要,所以专门去了解了下,看到有用到jxl这个插件,感觉很实用。特地建个备忘录,以便以后自己查询:
public static void main(String[] args) {
  try {
      Workbook wb=Workbook.getWorkbook(new File("e:\\test.xls"));
      Sheet sheet=wb.getSheet(0);
      Cell[] cellcol=sheet.getColumn(0);
      for (int j=0;j<cellcol.length;j++) {      ①
       if(cellcol[j].getContents().equals("测试酒店1")){
Cell[] cell=sheet.getRow(j);
for(int i=0;i<cell.length;i++){
    System.out.println(i+":"+cell[i].getContents());
}
        }
       }
      wb.close();
  } catch (BiffException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
   } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
   }
}
① 因为头回接触 , 不知道怎么获取特定行里头的数据,所以用了个很原始的方法,先获取某一特定列的值,然后匹配你所特定的,然后获取那行数据





/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/

import java.io.*;
import java.net.URL;
import java.io.File;
import java.util.Date;
import jxl.*;
import jxl.read.biff.*;
import tel.db.DBConnect;
import tel.util.*;
import java.sql.*;
import javax.servlet.http.*;

public class xsl {
  public xsl() {

  }
  public  void    test(){
    System.out.println("test okccccccccccccc");
  }
  //readWrite  写入count 表 2004-11-22 update by renchanglin 上传的data.xsl 只有3列
   public void  readWrite(String xlsFile ,String date)   throws   Exception{
     String myxslFile=xlsFile;
      FileInputStream fileOut=null;
      URL url=this.getClass().getResource("../../../upload/data.xls");

      try {
        Workbook workbook = Workbook.getWorkbook(new File(url.getFile()));
        Sheet sheet = workbook.getSheet(0);

int  cNum=sheet.getColumns();
int fcode=22;

String  user="信息";
String  danwei ="信息";
DBConnect dbc = new DBConnect();
dbc.prepareStatement("delete from account");
dbc.executeUpdate();
int rNum=sheet.getRows();
for(int i=1;i<rNum;i++)
        {

          Cell a0=sheet.getCell(0,i);
          //   NumberCell b0=(NumberCell)a0;
     Double   b0=new Double(a0.getContents());
             fcode=b0.intValue();


             Cell a1=sheet.getCell(1,i);
            user= a1.getContents();
             Cell a2=sheet.getCell(2,i);
             danwei = a2.getContents();
             danwei=danwei.trim();




          dbc.prepareStatement("INSERT INTO account (fcode,user,danwei) VALUES (?,?,?)");
          dbc.setInt(1, fcode);


         dbc.setBytes(2, user.getBytes("GBK"));
         dbc.setBytes(3, danwei.getBytes("GBK"));
          dbc.executeUpdate();
        }

workbook.close();
      }
      catch (BiffException ex2) {
        System.out.println("iiiiiiiiiiiiiiiiii");
      }
      catch (IOException ex2) {
      }


   }



   public void  addData(String xlsFile ,String date)   throws   Exception{
     String myxslFile=xlsFile;
      FileInputStream fileOut=null;
      URL url=this.getClass().getResource("../../../upload/data.xls");
      System.out.println("222222222222222");
      try {
        Workbook workbook = Workbook.getWorkbook(new File(url.getFile()));
        Sheet sheet = workbook.getSheet(0);
//  Cell a1 = sheet.getCell(2,4);

// Cell b2 = sheet.getCell(1,1);
// Cell c2 = sheet.getCell(2,1);

int ddh=3402;
float shyzf=35.0f;//月租费
float shthf=0.0f;//市话费
float  bdwhf=0.0f;//本地网话费
float    qzdchf=0.0f; //长话费
float sjf=0.0f;//数据费
float yhje=0.0f;//优惠费
float qthf=0.0f;//其它话费
float total=0.0f;//化费合计
String fdate=date;//日期

DBConnect dbc = new DBConnect();
int rNum=sheet.getRows();
int cNum=sheet.getColumns();
for(int i=1;i<rNum-1;i++)
        {
          Cell a0=sheet.getCell(0,i);
          //   NumberCell b0=(NumberCell)a0;
     Double   b0=new Double(a0.getContents());
             ddh=b0.intValue();
             Cell a1=sheet.getCell(2,i);
          Double   b1=new Double(a1.getContents());
             shyzf=b1.floatValue();
             Cell a3=sheet.getCell(3,i);
             Double   b3=new Double(a3.getContents());
              shthf=b3.floatValue();
                  Cell a4=sheet.getCell(4,i);
                  Double   b4=new Double(a4.getContents());
                  bdwhf=b4.floatValue();
                   Cell a6=sheet.getCell(6,i);
                   Double   b6=new Double(a6.getContents());
                   qzdchf=b6.floatValue();
                  Cell a18=sheet.getCell(18,i);
                  Double   b18=new Double(a18.getContents());
                  sjf=b18.floatValue();

                  Cell a26=sheet.getCell(26,i);
                  Double   b26=new Double(a26.getContents());
                  yhje=b26.floatValue();
                  float  tempdata=0.0f;

               for(int j=7;j<cNum-1;j++)
               {
                 Cell a7=sheet.getCell(j,i);
                 Double   b7=new Double(a7.getContents());
                float   f7=b7.floatValue();
                 tempdata=tempdata+f7;
               }
                  qthf=tempdata-yhje-sjf;
                  total=qthf+sjf+shyzf+shthf+bdwhf+qzdchf-yhje;
               // total=total+yzcharg;  rcl temp update
          dbc.prepareStatement("INSERT INTO alldata (ddh,shyzf,shthf,bdwhf,qzdchf,sjf,yhje,qthf,total,fdate) VALUES (?,?,?,?,?,?,?,?,?,?)");
          dbc.setInt(1, ddh);
          dbc.setFloat(2, shyzf);
          dbc.setFloat(3, shthf);
          dbc.setFloat(4, bdwhf);
          dbc.setFloat(5,qzdchf);
          dbc.setFloat(6, sjf);
          dbc.setFloat(7, yhje);
          dbc.setFloat(8, qthf);
          dbc.setFloat(9, total);
          dbc.setBytes(10, fdate.getBytes("GBK"));
          dbc.executeUpdate();
        }

workbook.close();
      }
      catch (BiffException ex2) {
        System.out.println("iiiiiiiiiiiiiiiiii");
      }
      catch (IOException ex2) {
      }


   }

   public void  initUser(String xlsFile ,String date)   throws   Exception{
     String myxslFile=xlsFile;
      FileInputStream fileOut=null;
      URL url=this.getClass().getResource("../../../upload/data.xls");
      System.out.println("222222222222222");
      try {
        Workbook workbook = Workbook.getWorkbook(new File(url.getFile()));
        Sheet sheet = workbook.getSheet(0);
//  Cell a1 = sheet.getCell(2,4);

// Cell b2 = sheet.getCell(1,1);
// Cell c2 = sheet.getCell(2,1);
int  cNum=sheet.getColumns();
int fcode=22;
int xcode=0;
      String  user="renchanglin";
      String  user1="renchanglin";
      String pcode="888888";
      int fclass=1;
      int cnum=0;
      float ccharg=0.0f;
      float cser=0.0f;
      int jcnum=0;
      float jccharg=0.0f;
      int mcnum=0;
      float mccharg=0.0f;
      int jnum=0;
      float jcharg=0.0f;
      float jser=0.0f;
      int dnum=0;
      float dcharg=0.0f;
      float dser=0.0f;
      int inum=0;
      float icharg=0.0f;
      float iser=0.0f;
      float yzcharg=0.0f;
      float btcharg=0.0f;
      float qtcharg=0.0f;
      float total=0.0f;
      String fdate=date;
DBConnect dbc = new DBConnect();
int rNum=sheet.getRows();
for(int i=1;i<rNum-1;i++)
        {

          Cell a0=sheet.getCell(0,i);
          //   NumberCell b0=(NumberCell)a0;
     Double   b0=new Double(a0.getContents());
             fcode=b0.intValue();
             Cell a1=sheet.getCell(1,i);
          Double   b1=new Double(a1.getContents());
             xcode=b1.intValue();
             Cell a2=sheet.getCell(2,i);
             user= a2.getContents();
            //  Cell a3=sheet.getCell(3,i);
          //   user1= a3.getContents();
              pcode="888888";
                Cell a5=sheet.getCell(5,i);
                Double   b5=new Double(a5.getContents());
                         fclass=b5.intValue();
                  Cell a6=sheet.getCell(6,i);
                  Double   b6=new Double(a5.getContents());
                  cnum=b6.intValue();
                   Cell a7=sheet.getCell(7,i);
                   Double   b7=new Double(a7.getContents());
                  ccharg=b7.floatValue();
                 Cell a8=sheet.getCell(8,i);
                Double   b8=new Double(a8.getContents());
                cser=b8.floatValue();
                Cell a9=sheet.getCell(9,i);
                Double   b9=new Double(a9.getContents());
                jcnum=b9.intValue();
                  Cell a10=sheet.getCell(10,i);
                Double   b10=new Double(a10.getContents());
               jcharg=b10.floatValue();
               Cell a11=sheet.getCell(11,i);
                              Double   b11=new Double(a11.getContents());
                              mcnum=b11.intValue();
                                Cell a12=sheet.getCell(12,i);
                              Double   b12=new Double(a12.getContents());
                             mccharg=b12.floatValue();
                             Cell a13=sheet.getCell(13,i);
       Double   b13=new Double(a13.getContents());
       jnum=b13.intValue();
        Cell a14=sheet.getCell(14,i);
        Double   b14=new Double(a14.getContents());
       jcharg=b14.floatValue();
      Cell a15=sheet.getCell(15,i);
     Double   b15=new Double(a15.getContents());
     jser=b15.floatValue();
     Cell a16=sheet.getCell(16,i);
Double   b16=new Double(a16.getContents());
dnum=b16.intValue();
Cell a17=sheet.getCell(17,i);
Double   b17=new Double(a17.getContents());
dcharg=b17.floatValue();
Cell a18=sheet.getCell(18,i);
Double   b18=new Double(a18.getContents());
dser=b18.floatValue();
    Cell a19=sheet.getCell(19,i);
    Double   b19=new Double(a19.getContents());
    inum=b19.intValue();
    Cell a20=sheet.getCell(20,i);
    Double   b20=new Double(a20.getContents());
    icharg=b20.floatValue();
    Cell a21=sheet.getCell(21,i);
    Double   b21=new Double(a21.getContents());
    iser=b21.floatValue();

    Cell a22=sheet.getCell(22,i);
   Double   b22=new Double(a22.getContents());
   yzcharg=b22.floatValue();
    Cell a23=sheet.getCell(23,i);
        Double   b23=new Double(a23.getContents());
        btcharg=b23.floatValue();
        Cell a24=sheet.getCell(24,i);
            Double   b24=new Double(a24.getContents());
            qtcharg=b24.floatValue();
            Cell a25=sheet.getCell(25,i);
                Double   b25=new Double(a25.getContents());
                total=b25.floatValue();
          dbc.prepareStatement("INSERT INTO user (fcode,user,pcode) VALUES (?,?,?)");
          dbc.setInt(1, fcode);
          dbc.setBytes(2, user.getBytes("GBK"));
          dbc.setBytes(3, pcode.getBytes("GBK"));
          dbc.executeUpdate();
        }

workbook.close();
      }
      catch (BiffException ex2) {
        System.out.println("iiiiiiiiiiiiiiiiii");
      }
      catch (IOException ex2) {
      }
   }

   public void  readWriteqk(String xlsFile ,String date)   throws   Exception{
  String myxslFile=xlsFile;
   FileInputStream fileOut=null;
   URL url=this.getClass().getResource("../../../upload/data.xls");

   try {
     Workbook workbook = Workbook.getWorkbook(new File(url.getFile()));
     Sheet sheet = workbook.getSheet(0);
    int  cNum=sheet.getColumns();
    String fdate=date;
DBConnect dbc = new DBConnect();
int rNum=sheet.getRows();
   String text[]=new String[11];
for(int i=1;i<rNum;i++)
     {
       for (int j=0;j<10;j++)
       {
         Cell a0 = sheet.getCell(j, i);
         text[j]=a0.getContents();
          System.out.println("zzzzzzzzz"+text[j]);
       }
       //   NumberCell b0=(NumberCell)a0;
        System.out.println("zzzzzzzzz"+text[1].getBytes("GBK"));
      dbc.prepareStatement("INSERT INTO book (idcode,title,author,author_affiliation,classify,serial_title,year,issue,keyword,abstract_C) VALUES (?,?,?,?,?,?,?,?,?,?)");
       for (int j=0;j<10;j++)
      {
        dbc.setString(j+1, text[j]);
      }
       dbc.executeUpdate();
     }
workbook.close();
   }
   catch (BiffException ex2) {
     System.out.println("iiiiiiiiiiiiiiiiii");
   }
   catch (IOException ex2) {
   }
}
}
分享到:
评论

相关推荐

    用jxl下载excel文件

    #### 使用JXL处理Excel文件 一旦文件下载完成,我们可以使用JXL库来读取Excel文件中的数据。下面是一些基本的操作示例: ##### 加载工作簿 ```java Workbook workbook = Workbook.getWorkbook(new File("path/to/...

    利用jxl操作excel文件

    在Java编程环境中,处理Excel文件是一项常见的任务,特别是在数据分析、数据导入导出或者报表生成等场景。`jxl`库是Java中一个广泛使用的库,它允许开发者方便地读取和写入Excel文件(.xls格式)。本篇将详细介绍...

    jxl操作excel文件

    ### jxl操作Excel文件知识点详解 #### 一、jxl简介 jxl 是一款用于 Java 环境下的 Excel 操作库,由一位韩国开发者所编写。与 Apache POI 相比,jxl 的功能略显简单,但在中文支持方面表现出色。jxl API 不依赖于...

    java使用jxl打印excel报表文件

    在Java开发中,生成和处理Excel文件是一项常见的任务,特别是在数据导出或报表生成的场景。JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Excel文件。本篇将深入探讨如何使用JXL库在Java中打印Excel...

    jxl导入导出excel

    在Java编程环境中,JXL库是一个非常流行的工具,用于读取和写入Excel文件。...通过以上步骤,你可以开始尝试使用JXL处理Excel文件了。在实际开发中,根据具体业务场景进行调整和优化,可以提高代码的效率和可维护性。

    jxl操作excel文件例子

    总结起来,JXL库是Java开发人员处理Excel文件的理想选择,其丰富的功能和易用的接口使得在各种场景下都能高效地完成任务,无论是简单的数据读取还是复杂的格式设置和公式处理。不过要注意,JXL库对较新版本的Excel...

    java利用jxl生成excel文件

    Java使用JXL库生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或导出时。JXL是一个开源的Java库,允许我们读取、写入和修改Excel文件。以下将详细讲解如何使用JXL库来生成Excel文件。 首先,我们需要在...

    java利用jxl读取excel文件

    综上所述,`jxl`库为Java开发者提供了一个强大的工具,用于处理Excel文件。通过熟悉其API,我们可以高效地读取、解析和操作Excel数据,满足各种业务需求。不过要注意,`jxl`库只支持旧版的`.xls`格式,对于`.xlsx`新...

    jxl导出excel加水印.zip

    `jxl`库是一个流行的Java库,它允许开发者读取、写入和修改Excel文件。本教程将详细介绍如何使用`jxl`库在导出Excel时添加水印,以及涉及的核心类`WritableWorkbook`、`WritableSheet`和`WritableCellFormat`。 `...

    JXL读写EXCEL示例

    在Java编程环境中,处理Excel文件是一项常见的任务,而JXL库提供了一个简洁的API来实现这一功能。JXL是一个开源的Java库,专门用于读取和写入Microsoft Excel文件(.xls格式)。在这个示例中,我们将深入探讨如何...

    jxl导出excel文件简单示例

    标题中的“jxl导出excel文件简单...总结来说,jxl是一个强大的Java库,用于处理Excel文件。通过学习和理解jxl库的基本用法,我们可以轻松地在Java程序中生成和编辑Excel文件,这对于数据处理和报告生成等任务非常有用。

    JXL操作EXCEL 数据库导出EXCEL相关文件

    总结来说,JXL是Java开发人员处理Excel文件的一个强大工具,它允许我们轻松地读取、写入和修改Excel数据。通过结合数据库操作,我们可以方便地将数据库中的数据导出为Excel格式,用于报表生成、数据分析或其他目的。...

    JXL 下载 Excel 文档

    5. **事务管理**:Spring的事务管理可以确保在处理Excel文件时的原子性和一致性,特别是在涉及数据库操作的情况下。 通过阅读博客和研究提供的示例代码,你将能够深入了解如何在实际项目中集成和利用JXL库,提高...

    jxl对excel添加水印(含有setWaterMarkImage方法).zip

    在Java编程环境中,处理Excel文件是一项常见的任务,特别是在数据导入导出、报表生成等领域。`jxl`库是一个广泛使用的开源库,它允许开发者用Java读取、写入和修改Excel文件。在这个特定的场景中,我们将探讨如何...

    jxl模版生成excel

    总的来说,jxl是一个强大的工具,适用于需要在Java应用中生成或处理Excel文件的场景,特别是需要基于模板动态生成复杂报表的情况。通过学习和掌握jxl库,开发者能够高效地处理Excel数据,提升工作效率。

    利用Jxl生成excel文件

    在IT行业中,生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或数据分析等领域。Jxl是一个流行的Java库,专门用于读取和写入Microsoft Excel文件。这篇博客“利用Jxl生成excel文件”提供了关于如何使用...

    jxl导出excel总结

    总结来说,jxl是Java开发者处理Excel文件的利器,它提供了全面的API,能够满足大多数Excel操作需求。通过熟练掌握jxl,开发者可以轻松地在Java应用程序中实现数据的导入导出,提升工作效率。在实际项目中,根据具体...

    jxl读取Excel文件

    Java作为一种广泛使用的编程语言,对于处理Excel文件的需求自然也是必不可少的。本文将深入探讨如何使用JXL库来读取Excel文件。 JXL库是Java中一个非常流行的用于读写Excel文件的开源库。它提供了一个简洁的API,...

    jxl JAVA Excel解析

    JXL(Java Excel API)是一个开源的Java库,专门用于处理Microsoft Excel文件。它支持多种操作,如创建新的工作簿、读取现有工作簿、修改工作表内容、添加公式、设置单元格样式等。JXL库的使用极大地简化了Java程序...

    JXL读写Excel小例子

    在Java编程环境中,处理Excel文件是一项常见的任务,而JXL库提供了一个简洁的API来实现这一功能。JXL是一个开源的Java库,专门用于读取和写入Microsoft Excel文件(.xls格式)。在这个"JXL读写Excel小例子"中,我们...

Global site tag (gtag.js) - Google Analytics