Java操作excel比较简单,但是时间长了就会忘记,因此基本的简单操作做个记录。

依赖poi的jar包,pom.xml配置如下:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>excelDemo1</groupId>
  5. <artifactId>excelDemo1</artifactId>
  6. <packaging>war</packaging>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <name>excelDemo1 Maven Webapp</name>
  9. <url>http://maven.apache.org</url>
  10. <dependencies>
  11. <dependency>
  12. <groupId>junit</groupId>
  13. <artifactId>junit</artifactId>
  14. <version>3.8.1</version>
  15. <scope>test</scope>
  16. </dependency>
  17. <dependency>
  18. <groupId>org.apache.poi</groupId>
  19. <artifactId>poi</artifactId>
  20. <version>3.8</version>
  21. </dependency>
  22. </dependencies>
  23. <build>
  24. <finalName>excelDemo1</finalName>
  25. </build>
  26. </project>

相应的java测试代码分别如下:

  1. package excelDemo1;
  2. import java.io.File;
  3. import java.io.FileOutputStream;
  4. import java.io.OutputStream;
  5. import org.apache.poi.hssf.usermodel.HSSFRow;
  6. import org.apache.poi.hssf.usermodel.HSSFSheet;
  7. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  8. public class ExcelDemo0 {
  9. /**
  10. * java生成excel文件并写入磁盘
  11. *
  12. * @author:tuzongxun
  13. * @Title: main
  14. * @param@param args
  15. * @return void
  16. * @date Apr 28,2016 7:32:52 PM
  17. * @throws
  18. */
  19. public static void main(String[] args) {
  20. //C:\Users\tuzongxun123\Desktop桌面,windows和linux的斜杠不一样,而且java对于“/”需要转义处理,File.separator可以实现跨平台
  21. File file = new File("C:" + File.separator + "Users" + File.separator
  22. + "tuzongxun123" + File.separator + "Desktop" + File.separator
  23. + "ioFile" + File.separator + "user.xls");
  24. try {
  25. OutputStream outputStream = new FileOutputStream(file);
  26. // 创建excel文件,注意这里的hssf是excel2007及以前版本可用,2007版以后的不可用,要用xssf
  27. HSSFWorkbook workbook = new HSSFWorkbook();
  28. // 创建excel工作表
  29. HSSFSheet sheet = workbook.createSheet("user");
  30. // 为工作表增加一行
  31. HSSFRow row = sheet.createRow(0);
  32. // 在指定的行上增加两个单元格
  33. row.createCell(0).setCellValue("name");
  34. row.createCell(1).setCellValue("password");
  35. // 调用输出流把excel文件写入到磁盘
  36. workbook.write(outputStream);
  37. // 关闭输出流
  38. outputStream.close();
  39. } catch (Exception e) {
  40. e.printStackTrace();
  41. }
  42. }
  43. }
    1. package excelDemo1;
    2. import java.io.BufferedInputStream;
    3. import java.io.File;
    4. import java.io.FileInputStream;
    5. import org.apache.poi.hssf.usermodel.HSSFRow;
    6. import org.apache.poi.hssf.usermodel.HSSFSheet;
    7. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    8. import org.apache.poi.poifs.filesystem.POIFSFileSystem;
    9. /**
    10. * 读取excel文件
    11. *
    12. * @author tuzongxun123
    13. *
    14. */
    15. public class ExcelDemo2 {
    16. public static void main(String[] agrs) {
    17. try {
    18. // 获取excel文件输入流
    19. FileInputStream fileInputStream = new FileInputStream("C:"
    20. + File.separator + "Users" + File.separator
    21. + "tuzongxun123" + File.separator + "Desktop"
    22. + File.separator + "ioFile" + File.separator + "user.xls");
    23. BufferedInputStream bufferedInputStream = newBufferedInputStream(
    24. fileInputStream);
    25. POIFSFileSystem fileSystem = new POIFSFileSystem(
    26. bufferedInputStream);
    27. // 获取excel文件
    28. HSSFWorkbook hssfWorkbook = new HSSFWorkbook(fileSystem);
    29. // 根据名称获取指定的excel工作薄
    30. HSSFSheet sheet = hssfWorkbook.getSheet("user");
    31. // 这里实际上可以用sheet.rowIterator()来遍历
    32. for (int i = 1;; i++) {
    33. HSSFRow row = sheet.getRow(i);
    34. if (row != null) {
    35. String nameString1 = row.getCell(0).getStringCellValue();
    36. String password = row.getCell(i).getStringCellValue();
    37. System.out.println("name:" + nameString1);
    38. System.out.println("password:" + password);
    39. bufferedInputStream.close();
    40. } else {
    41. bufferedInputStream.close();
    42. return;
    43. }
    44. }
    45. } catch (Exception e) {
    46. e.printStackTrace();
    47. }
    48. }
    49. }

Java使用poi操作cexel的更多相关文章

  1. java使用POI操作XWPFDocument中的XWPFRun(文本)对象的属性详解

    java使用POI操作XWPFDocument中的XWPFRun(文本)对象的属性详解 我用的是office word 2016版 XWPFRun是XWPFDocument中的一段文本对象(就是一段文 ...

  2. java里poi操作excel的工具类(兼容各版本)

    转: java里poi操作excel的工具类(兼容各版本) 下面是文件内具体内容,文件下载: import java.io.FileNotFoundException; import java.io. ...

  3. java使用POI操作excel文件,实现批量导出,和导入

    一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Exc ...

  4. Java POI操作Excel注意点

    excel的行索引和列索引都是从0开始,而行号和列号都是从1开始 POI·操作excel基本上都是使用索引 XSSFRow对象的 row.getLastCellNum() 方法返回的是当前行最后有效列 ...

  5. JAVA的POI操作Excel

    1.1Excel简介 一个excel文件就是一个工作簿workbook,一个工作簿中可以创建多张工作表sheet,而一个工作表中包含多个单元格Cell,这些单元格都是由列(Column)行(Row)组 ...

  6. (三)JAVA使用POI操作excel

    1,单元格对齐方式 Demo8.java package com.wishwzp.poi; import java.io.FileOutputStream; import java.util.Date ...

  7. (一)JAVA使用POI操作excel

    1,Poi 简介 Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能 PO ...

  8. java用POI操作excel——随便写一下,最基础的东西

    前两天部门实施在做一个东西,需要把客户放在Excel中的数据导入到Oracle数据库中,我就想着直接写一个模板,必要的时候改一下实体类应该可以解放实施同事的双手,不过在实际写的过程中,还是碰到很多问题 ...

  9. Java 利用POI操作PPT

    解析PPT文件中的图片 import java.io.File; import java.io.FileOutputStream; import org.apache.poi.hslf.HSLFSli ...

随机推荐

  1. SQL注入的常用函数和语句

    1.系统函数 version()   Mysql版本user()   数据库用户名database()    数据库名@@datadir   数据库路径@@version_compile_os   操 ...

  2. 用 Express4 写一个简单的留言板

    Knowledge Dependence:阅读文本前,你需要熟悉 Node.js 编程.Express 以及相关工具和常用中间件的使用. Node.js 以其单线程异步非阻塞的特点,越来越被广大的 W ...

  3. HDU 4920 居然会超时

    题意:求两个n*n的矩阵相乘的结果,得出的每个元素%3: 分析:2000ms然后n的范围是800,我们自己估算的时间复杂度并不会超时,但是结果就是超时了. #include <cstdio> ...

  4. POJ2653判断直线是否相交

    bool judge(node p1,node p2,node p3,node p4){    if(min(p1.x,p2.x)>max(p3.x,p4.x)||min(p1.y,p2.y)& ...

  5. iOS 创建framework & bundle 主要配置

    bundle:base sdk 为iOS, delete compile resource framework:target dependencies,headers,mach-o proj: tar ...

  6. 黑马----JAVA内部类

    黑马程序员:Java培训.Android培训.iOS培训..Net培训 黑马程序员--JAVA内部类 一.内部类分为显式内部类和匿名内部类. 二.显式内部类 1.即显式声明的内部类,它有类名. 2.显 ...

  7. Ansible-Tower快速入门-7.配置实时事件【翻译】

    配置实时事件 在tower的菜单中,在接近用户菜单处有一个带有颜色的小点,这个带颜色的小点显示tower的实时事件功能的状态 如果这个小点是绿色的,表示运行正常,如果这个小点是红色或橙色,表示实时事件 ...

  8. c++ 顺序容器学习

    所谓容器,就是一个装东西的盒子,在c++中,我们把装的东西叫做“元素” 而顺序容器,就是说这些东西是有顺序的,你装进去是什么顺序,它们在里面就是什么顺序. c++中的顺序容器一共有这么几种: vect ...

  9. 《深入浅出Node.js》第8章 构建Web应用

    @by Ruth92(转载请注明出处) 第8章 构建Web应用 一.基础功能 请求方法:GET.POST.HEAD.DELETE.PUT.CONNECT GET /path?foo=bar HTTP/ ...

  10. Angular--$http服务

    关于Angular中$http 服务是对XMLHttpRequest 对象的封装,向服务器发送请求: 下面自己在angular中$http学习的一个记录, GET请求(先贴码) angualr代码: ...