1、将excel导入到内存

1、 调用工作簿Workbook的静态方法getWorkbook(),获得工作簿Workbook对象

  1.   InputStream in = new FileInputStream(file);
  2.   Workbook wb = Workbook.getWorkbook(in);

2、 获取Excel表中的工作表格Sheet
3、 获取行、列
  sheet.getRows();
  sheet.getColumns();
4、 读取单元格内容
  String result = cell.getContents();
5、 关闭工作簿Workbook
  wb.close();

  • 代码演示
  1. // 实现读学生文件,将读出的信息存放于student集合中
  2. public List<Student> ReadFromExcel(String fileName) {
  3. List<Student> list = new ArrayList<Student>();
  4. File file = new File(fileName);
  5. try {
  6. InputStream in = new FileInputStream(file);
  7. Workbook wb = Workbook.getWorkbook(in);
  8. Sheet s = wb.getSheet(0);
  9. for(int i = 1; i < s.getRows(); i++) //第一行不要
  10. {
  11. Cell[] row = s.getRow(i);
  12. Student student = new Student(row[0].getContents(), row[1].getContents(), //填充数据
  13. row[2].getContents(), Float.parseFloat(row[3].getContents()),
  14. Float.parseFloat(row[4].getContents()), Float.parseFloat(row[5].getContents()));
  15. //由于读取的数据全部都是String 类型所以要转换成Float类型
  16. student.setTotalScore(student.getEnglish()+student.getJava()+student.getMath());
  17. student.setAverage(student.getTotalScore()/3);
  18. list.add(student);
  19. }
  20. } catch (FileNotFoundException e) {
  21. // TODO Auto-generated catch block
  22. e.printStackTrace();
  23. } catch (BiffException e) {
  24. // TODO Auto-generated catch block
  25. e.printStackTrace();
  26. } catch (IOException e) {
  27. // TODO Auto-generated catch block
  28. e.printStackTrace();
  29. }
  30. return list;
  31. }

2、将数据写到excel表格中

1、 获取可写入工作簿WritableWorkbook对象
  WritableWorkbook wwb = Workbook.createWorkbook(filename);
2、 创建工作表格Sheet名称
  WritableSheet sheet = book.createSheet("Sheet1",0);
3、 将内容放入对应的行和列

  1.   sheet.addCell(new Label(j, i, info);//j表示列,i表示行,info表示写入的内容
  2.   //在Excel中第一个参数是列,第二个参数是行,如A1

4、 写入并关闭工作簿Workbook

  1.   wwb.write();
  2.   wwb.close();
  • 代码演示
  1. // 将集合中的数据写入到excel文件中
  2. public void WriteExcel(List<Student> list, String fileName) {
  3. File file = new File(fileName);
  4. try {
  5. OutputStream out = new FileOutputStream(file);
  6. WritableWorkbook wwb = Workbook.createWorkbook(out);
  7. WritableSheet ws = wwb.createSheet("Sheet1", 0);
  8. String info[] = {"id","name","gender","java","english","math"};
  9. for(int j=0;j<6;j++){
  10. Label label = new Label(j, 0, info[j]);
  11. ws.addCell(label);
  12. }
  13. for(int i = 0;i < list.size();i++)
  14. {
  15. Label l = new Label(0, i+1, list.get(i).getId());//在Excel中,第一个参数表示列,第二个表示行
  16. Label l2 = new Label(1, i+1, list.get(i).getName());
  17. Label l3 = new Label(2, i+1, list.get(i).getGender());
  18. Label l4 = new Label(3, i+1, String.valueOf(list.get(i).getJava()));
  19. Label l5 = new Label(4, i+1, String.valueOf(list.get(i).getEnglish()));
  20. Label l6 = new Label(5, i+1, String.valueOf(list.get(i).getMath()));
  21. ws.addCell(l);
  22. ws.addCell(l2);
  23. ws.addCell(l3);
  24. ws.addCell(l4);
  25. ws.addCell(l5);
  26. ws.addCell(l6);
  27. }
  28. wwb.write();//从内存中写入文件中
  29. wwb.close();//关闭资源,释放内存
  30. } catch (FileNotFoundException e) {
  31. // TODO Auto-generated catch block
  32. e.printStackTrace();
  33. } catch (IOException e) {
  34. // TODO Auto-generated catch block
  35. e.printStackTrace();
  36. } catch (RowsExceededException e) {
  37. // TODO Auto-generated catch block
  38. e.printStackTrace();
  39. } catch (WriteException e) {
  40. // TODO Auto-generated catch block
  41. e.printStackTrace();
  42. }
  43. }

Java IO 导入导出Excel表格的更多相关文章

  1. Java代码导入导出 Excel 表格最简单的方法

    import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStrea ...

  2. Java中导入导出Excel -- POI技术

    一.介绍: 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实 ...

  3. PHP导入导出excel表格图片(转)

    写excel的时候,我用过pear的库,也用过pack压包的头,同样那些利用smarty等作的简单替换xml的也用过,csv的就更不用谈了.呵呵.(COM方式不讲了,这种可读的太多了,我也写过利用wp ...

  4. PHP导入导出excel表格图片的代码和方法大全

    基本上导出的文件分为两种: 1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已.修改这种文件后再保存,通常会提示你是否要转换成Excel文件 ...

  5. Java利用POI实现导入导出Excel表格示例代码

    转自:https://www.jb51.net/article/95526.htm 介绍 Jakarta POI 是一套用于访问微软格式文档的Java API.Jakarta POI有很多组件组成,其 ...

  6. Java Annotation 应用 -- 导出Excel表格

    相关知识链接: Introspector(内省) POI 1.声明注解 package com.ciic.component.excel; import java.lang.annotation.El ...

  7. Java实现导入导出Excel:POI和EasyExcel

    文章与CSDN同步,欢迎访问:https://blog.csdn.net/qq_40280582/article/details/107300081 代码地址:https://gitee.com/il ...

  8. Java POI导入导出Excel

    1.异常java.lang.NoClassDefFoundError: org/apache/poi/UnsupportedFileFormatException 解决方法: 使用的poi的相关jar ...

  9. java基础篇 -- 导出excel表格数据

    本篇文章基于java把数据库中的数据以Excel的方式导出,欢迎各位大神吐槽: 1.基于maven jar包引入如下: <dependency> <groupId>net.so ...

随机推荐

  1. pd16.5增加字段备注

    EXEC sp_addextendedproperty 'MS_Description', %.q:COLNNAME%, 'user', dbo, 'table', %TABLE%, 'column' ...

  2. python爬虫-百度百科百名红通人员名单

    爬虫代码: import urllib.request import os, re from bs4 import BeautifulSoup import xlwt URL = "http ...

  3. 通俗易懂--SVM算法讲解(算法+案例)

    1.SVM讲解 新闻分类案例 SVM是一个很复杂的算法,不是一篇博文就能够讲完的,所以此篇的定位是初学者能够接受的程度,并且讲的都是SVM的一种思想,通过此篇能够使读着会使用SVM就行,具体SVM的推 ...

  4. Python Day 7

    阅读目录 内容回顾: 数据类型相互转换: 字符编码: ##内容回顾 #1.深浅拷贝 ls = [1, 'a', [10]] 值拷贝:直接赋值 ls1 = ls, ls中的任何值发生改变,ls1中的值都 ...

  5. #pragma常用预处理指令

    #pragma pack(1):1字节对齐#pragma once:指定头文件被编译一次#pragma message("message"):编译时输出message文本#prag ...

  6. 对excel文件的读取

    poi上传文件,准备 <dependencies><dependency> <groupId>org.apache.poi</groupId> < ...

  7. php面试题--并列排名问题

    给定一个二维数组: <?php $data = [ ['name' =>'j1', 'score' => '80'], ['name' =>'j2', 'score' => ...

  8. CentOS7 安装配置rsync

    centos7自带rsync,今天简单记录下. rsync安装配置步骤 服务器端: 1.修改默认配置文件/etc/rsyncd.conf,该成如下: # /etc/rsyncd: configurat ...

  9. Django积木块八——三级联动

    三级联动 前端需要的效果,省之后市之后现,创建model,查询所有的省的信息,json传到前面,之后通过省的id找到对应的市,是用异步实现的. # model class Sheng(models.M ...

  10. Ubuntu 16.04.2 配置VNC

    1安装包apt-get update sudo apt install xfce4 xfce4-goodies tightvncserversudo apt-get install vnc4serve ...