java操作excel

举报
chenyu 发表于 2021/07/27 00:36:12 2021/07/27
【摘要】 这里有操作excel的程序 但是一定要记得添加 jxl-2.6.jar包import java.io.File;import java.io.IOException; import jxl.Cell;import jxl.Sheet;import jxl.Workbook;import jxl.read.biff.BiffException;import jxl.write...

      这里有操作excel的程序 但是一定要记得添加 jxl-2.6.jar包
      import java.io.File;
      import java.io.IOException;
      import jxl.Cell;
      import jxl.Sheet;
      import jxl.Workbook;
      import jxl.read.biff.BiffException;
      import jxl.write.Label;
      import jxl.write.WritableSheet;
      import jxl.write.WritableWorkbook;
      import jxl.write.WriteException;
      import jxl.write.biff.RowsExceededException;
      public class 操作excel {
         public static void main(String[] args) throws RowsExceededException, WriteException, BiffException {
      // 打开文件
       try {
      WritableWorkbook book = Workbook.createWorkbook(new File("test.xls"));
      // 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
      WritableSheet sheet = book.createSheet("第一页", 0);
       // 以及单元格内容为test
       Label label = new Label(0, 0, "test");
       // 将定义好的单元格添加到工作表中
       sheet.addCell(label);
       /*
       * 生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义 单元格位置是第二列,第一行,值为789.123
       */
       jxl.write.Number number = new jxl.write.Number(1, 0, 555.12541);
       sheet.addCell(number);
       // 写入数据并关闭文件
       book.write();
       book.close();
       read();
      } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      }
      }
       public static void read() throws BiffException, IOException{
       Workbook book = Workbook.getWorkbook(new File("test.xls"));
       System.out.println(new File("test.xls").getAbsolutePath());
       // 获得第一个工作表对象
       Sheet sheet = book.getSheet(0);
       // 得到第一列第一行的单元格
       Cell cell1 = sheet.getCell(0, 0);
       Cell cell2 =sheet.getCell(1,0);
       String result = cell1.getContents();
       String result2 =cell2.getContents();
       // 得到第二列第一行的单元格
       System.out.println(result);
       System.out.println(result2);
       book.close();
       }
      }
      import java.util.Scanner;
      public class Add {
         public static void main(String[] args) {
      /** 有N个纸片 每个纸片上面一个数字 抽取N次 看有没有和为m的可能
      *
      */
      System.out.println("请输入有几个纸片");
      int n;
      Scanner input=new Scanner(System.in);
      n=input.nextInt();
      System.out.println("请输入"+n+"数字");
      int [] a=new int[n];
      for(int i=0;i<n;i++){
      a[i]=input.nextInt();
      }
      System.out.println("你输入的数组是");
      for(int b:a){
      System.out.print(b+"\t");
      }
      a=Util.selectSort(a);
      System.out.println("请输入你想要求得和");
      int m=input.nextInt();
      boolean flag=false;
      for(int i=0;i<n;i++){
      for(int j=0;j<n;j++){
      for(int k=0;k<n;k++){
      for(int l=0;l<n;l++){
      //为了提高效率 a[i]+a[j]+a[k]+a[l] == m 可以写成 a[l]=m-(a[i]+a[j]+a[k]);
      //判断这组数据里面有没有这样的数
      //可以用先排好序列 然后再用二分查找
      // if(a[i]+a[j]+a[k]+a[l] == m){
      // flag=true;
      // }
      if(Util.isValueByMiddle(m-(a[i]+a[j]+a[k]), a)){
      flag=true;
      }
      }
      }
      }
      }
      if(flag){
      System.out.println("yes");
      }else{
      System.out.println("no");
      }
      }
      }
  
 

 

文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/49284483

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。