开发者社区> 涂宗勋> 正文

Java使用poi操作cexel

简介:
+关注继续查看

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

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

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  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测试代码分别如下:

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. package excelDemo1;  
  2.    
  3. import java.io.File;  
  4. import java.io.FileOutputStream;  
  5. import java.io.OutputStream;  
  6. import org.apache.poi.hssf.usermodel.HSSFRow;  
  7. import org.apache.poi.hssf.usermodel.HSSFSheet;  
  8. import org.apache.poi.hssf.usermodel.HSSFWorkbook;  
  9.    
  10. public class ExcelDemo0 {  
  11.     /** 
  12.      * java生成excel文件并写入磁盘 
  13.      * 
  14.      * @author:tuzongxun 
  15.      * @Title: main 
  16.      * @param@param args 
  17.      * @return void 
  18.      * @date Apr 28,2016 7:32:52 PM 
  19.      * @throws 
  20.      */  
  21.     public static void main(String[] args) {  
  22.        //C:\Users\tuzongxun123\Desktop桌面,windows和linux的斜杠不一样,而且java对于“/”需要转义处理,File.separator可以实现跨平台  
  23.        File file = new File("C:" + File.separator + "Users" + File.separator  
  24.               + "tuzongxun123" + File.separator + "Desktop" + File.separator  
  25.               + "ioFile" + File.separator + "user.xls");  
  26.        try {  
  27.            OutputStream outputStream = new FileOutputStream(file);  
  28.            // 创建excel文件,注意这里的hssf是excel2007及以前版本可用,2007版以后的不可用,要用xssf  
  29.            HSSFWorkbook workbook = new HSSFWorkbook();  
  30.            // 创建excel工作表  
  31.            HSSFSheet sheet = workbook.createSheet("user");  
  32.            // 为工作表增加一行  
  33.            HSSFRow row = sheet.createRow(0);  
  34.            // 在指定的行上增加两个单元格  
  35.            row.createCell(0).setCellValue("name");  
  36.            row.createCell(1).setCellValue("password");  
  37.            // 调用输出流把excel文件写入到磁盘  
  38.            workbook.write(outputStream);  
  39.            // 关闭输出流  
  40.            outputStream.close();  
  41.        } catch (Exception e) {  
  42.            e.printStackTrace();  
  43.        }  
  44.     }  
  45. }  

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. package excelDemo1;  
  2.    
  3. import java.io.BufferedInputStream;  
  4. import java.io.File;  
  5. import java.io.FileInputStream;  
  6. import org.apache.poi.hssf.usermodel.HSSFRow;  
  7. import org.apache.poi.hssf.usermodel.HSSFSheet;  
  8. import org.apache.poi.hssf.usermodel.HSSFWorkbook;  
  9. import org.apache.poi.poifs.filesystem.POIFSFileSystem;  
  10.    
  11. /** 
  12.  * 读取excel文件 
  13.  * 
  14.  * @author tuzongxun123 
  15.  * 
  16.  */  
  17. public class ExcelDemo2 {  
  18.     public static void main(String[] agrs) {  
  19.        try {  
  20.            // 获取excel文件输入流  
  21.            FileInputStream fileInputStream = new FileInputStream("C:"  
  22.                   + File.separator + "Users" + File.separator  
  23.                   + "tuzongxun123" + File.separator + "Desktop"  
  24.                   + File.separator + "ioFile" + File.separator + "user.xls");  
  25.            BufferedInputStream bufferedInputStream = newBufferedInputStream(  
  26.                   fileInputStream);  
  27.            POIFSFileSystem fileSystem = new POIFSFileSystem(  
  28.                   bufferedInputStream);  
  29.            // 获取excel文件  
  30.            HSSFWorkbook hssfWorkbook = new HSSFWorkbook(fileSystem);  
  31.            // 根据名称获取指定的excel工作薄  
  32.            HSSFSheet sheet = hssfWorkbook.getSheet("user");  
  33.            // 这里实际上可以用sheet.rowIterator()来遍历  
  34.            for (int i = 1;; i++) {  
  35.               HSSFRow row = sheet.getRow(i);  
  36.               if (row != null) {  
  37.                   String nameString1 = row.getCell(0).getStringCellValue();  
  38.                   String password = row.getCell(i).getStringCellValue();  
  39.                   System.out.println("name:" + nameString1);  
  40.                   System.out.println("password:" + password);  
  41.                   bufferedInputStream.close();  
  42.               } else {  
  43.                   bufferedInputStream.close();  
  44.                   return;  
  45.               }  
  46.            }  
  47.    
  48.        } catch (Exception e) {  
  49.            e.printStackTrace();  
  50.        }  
  51.     }  
  52. }  

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java使用AES加解密
Java使用AES加解密 目录 1.1生成密钥 1.2密钥的存储 1.3获取存储的密钥 1.4加解密 1.5使用存储的密钥进行加解密示例   AES是一种对称的加密算法,可基于相同的密钥进行加密和解密。
1433 0
【Java】使用javaassist修改jar包
由于工作需要,可能会涉及到一些需要对第三方的一些jar包与源码进行修改的情况,这个时候javaassist就可以派上用场。 javaassist是一个开源的编辑、修改、创建字节码的类库,它在JBoos项目的AOP框架中发挥了很大的作用。不过我们这次仅仅使用它的修改class的功能。 1 准备工具 1.1 需要用到的工具 1.javaassist.jar 修改class字节码,修改类
7184 0
Java 使用轮询获取线程返回数据
本文目录 1. 多线程的特点 2. 使用轮询强制等待 3. 轮询的弊端 4. 小结
78 0
vnc操作使用指南----开启多个VNCserver
应用场景 在上面博客中介绍了一台Linux服务器上开启一个VNCServer,然后通过Windows端的VNCviewer去连接该Linux,最后可以在Windiwos系统中,远程看到Linux的系统界面。
2537 0
《JavaScript启示录》——1.5 使用new操作符实例化构造函数
构造函数从根本上说是用于创建预配置对象的饼干模具模板。以String()为例,这个函数在与new操作符[new String('foo') ]一起使用时会创建基于String()模板的字符串实例。让我们来看一个示例。
1340 0
SharePoint API测试系列——对Recorded Item做OM操作(委托的妙用)
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 对Recorded Item动态调用OM Methods进行测试,界面如下: 输入Site的URL,File在SharePoint中的相对URL,并选择OM操作类型,点击Test进行测试。
784 0
java使用链栈实现迷宫求解
java实现链栈在前面有所介绍:http://www.cnblogs.com/lixiaolun/p/4644141.html   java实现链栈的代码: package stackapplication; public class LinkStack { private...
1148 0
QT绘图的底层操作
绘图的底层操作LCD屏幕上的每个点都与显示缓冲区中的数据有特定的关系,对16位色的显示缓冲区,每两个字节对应LCD上的一个像素,因此我们只要修改缓冲区某两个地址上的数据就可以改变LCD上这个点的色彩,如果我们能够得到这个显示缓冲区的地址,应用程序编写者就可以抛开驱动程序那些抽象的接口,直接对显示缓冲区操作。
930 0
+关注
涂宗勋
认真生活,快乐工作,保持理想!https://blog.csdn.net/tuzongxun
274
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载