1. import java.io.FileInputStream;
  2. import java.io.FileOutputStream;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.io.OutputStream;
  6. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  7. import org.apache.poi.ss.usermodel.Cell;
  8. import org.apache.poi.ss.usermodel.Row;
  9. import org.apache.poi.ss.usermodel.Sheet;
  10. import org.apache.poi.ss.usermodel.Workbook;
  11. import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  12. public class TestReadAndWrite {
  13. public static void main(String[] args) throws IOException {
  14. String path = "d:/";
  15. String fileName = "test";
  16. String fileType = "xlsx";
  17. writer(path, fileName, fileType);
  18. read(path, fileName, fileType);
  19. }
  20. private static void writer(String path, String fileName,String fileType) throws IOException {
  21. //创建工作文档对象
  22. Workbook wb = null;
  23. if (fileType.equals("xls")) {
  24. wb = new HSSFWorkbook();
  25. }
  26. else if(fileType.equals("xlsx"))
  27. {
  28. wb = new XSSFWorkbook();
  29. }
  30. else
  31. {
  32. System.out.println("您的文档格式不正确!");
  33. }
  34. //创建sheet对象
  35. Sheet sheet1 = (Sheet) wb.createSheet("sheet1");
  36. //循环写入行数据
  37. for (int i = 0; i < 5; i++) {
  38. Row row = (Row) sheet1.createRow(i);
  39. //循环写入列数据
  40. for (int j = 0; j < 8; j++) {
  41. Cell cell = row.createCell(j);
  42. cell.setCellValue("测试"+j);
  43. }
  44. }
  45. //创建文件流
  46. OutputStream stream = new FileOutputStream(path+fileName+"."+fileType);
  47. //写入数据
  48. wb.write(stream);
  49. //关闭文件流
  50. stream.close();
  51. }
  52. public static void read(String path,String fileName,String fileType) throws IOException
  53. {
  54. InputStream stream = new FileInputStream(path+fileName+"."+fileType);
  55. Workbook wb = null;
  56. if (fileType.equals("xls")) {
  57. wb = new HSSFWorkbook(stream);
  58. }
  59. else if (fileType.equals("xlsx")) {
  60. wb = new XSSFWorkbook(stream);
  61. }
  62. else {
  63. System.out.println("您输入的excel格式不正确");
  64. }
  65. Sheet sheet1 = wb.getSheetAt(0);
  66. for (Row row : sheet1) {
  67. for (Cell cell : row) {
  68. System.out.print(cell.getStringCellValue()+"  ");
  69. }
  70. System.out.println();
  71. }
  72. }
  73. }
 
 

POI读取xls和xlsx的更多相关文章

  1. POI操作Excel详解,读取xls和xlsx格式的文件

    package org.ian.webutil;   import java.io.File; import java.io.FileInputStream; import java.io.FileN ...

  2. java读取xls和xlsx数据作为数据驱动来用

    java读取Excle代码 拿来可以直接使用 :针对xls 和 xlsx package dataProvider; import java.io.File; import java.io.FileI ...

  3. 使用POI读取/创建Execl(.xlsx)文件

    最近项目中用到了解析Execl表格的功能,在网上百度了一下自己写了一个小Demo.由于项目中使用的是Execl2007,就是后缀为.xlsx的,所以只研究了解析和创建Execl2007的文件,解析Ex ...

  4. poi 读取 excel(.xlsx) 2007及以上版本

    1.注意的一点是sh.getLastRowNum(),比实际的行数少一行 涉及到的包:

  5. poi读取xlsx

    知道 大家都知道用poi读取xls  当时有时候 必需要读取xlsx  如今我把我做測试的demo分享给大家 package com.lt.main; import java.io.File; imp ...

  6. Java读取Excel文件(包括xls和xlsx)的样例程序

    样例程序如下所示,其中: parseXls()函数依赖于jxl,只能读取xls格式文件: parseExcel()函数依赖于apache poi,能够读取xls和xlsx两种格式的文件. jxl的依赖 ...

  7. R语言学习——R读取txt、csv、xls和xlsx格式文件

    最近项目中运用到了R读取文件数据,所以把相关好用的.经过验证的方法总结了一下,有效避免下次入坑. 1. R读取txt文件 使用R读取txt文件直接使用read.table()方法进行读取即可,不需要加 ...

  8. C#仪器数据文件解析-Excel文件(xls、xlsx)

    不少仪器工作站可以将数据导出为Excel文件,包括97-2003版本的xls文件和2007+的xlsx文件. 采集Excel文件相比采集pdf文件更容易.程序更健壮,毕竟Excel中数据有明确的行.列 ...

  9. 1、创建一个空白的xls和xlsx文件

    1.创建一个空白的xls文件 Step1:先引入库NPOI.dll文件 Step2: ①:实例化一个workbook,实为在内存表中创建一个xls文件 NPOI.HSSF.UserModel.HSSF ...

随机推荐

  1. Ionic3,装饰器(@Input、@ViewChild)以及使用 Events 实现数据回调中的相关用法(五)

    标题栏的渐变效果 使用到的相关装饰器.Class以及相关方法:@Input.@ViewChild.Content.ionViewDidLoad ① @Input 装饰器:用来获取页面元素自定义属性值. ...

  2. zookeeper 选举机制 和 eruake

    zookeeper简介: 在分布式环境中,多个服务之间协调一致.有提供分布式锁.服务配置.实现分布式领域CAP(consistency一致性,Availiablity高可用,patition tolr ...

  3. MySQL 查询结果分组 group by

    [group by {col_name | position} [ASC | DESC ]] 分组条件 [HAVING where_condition] HAVING 后面的条件必须出现在select ...

  4. 读写锁--ReentrantReadWriteLock

    读写锁,对于读操作来说是共享锁,对于写操作来说是排他锁,两种操作都可重入的一种锁.底层也是用AQS来实现的,我们来看一下它的结构跟代码: ------------------------------- ...

  5. c++ 网络编程(五) LINUX下 socket编程 多种I/O函数 -以及readv和writev函数用法

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9614056.html 一.多种I/O函数 前言:之前我们讲的数据传输一般Linux上用writ ...

  6. html中超链接的target属性

    <a> 标签的 target 属性规定在何处打开链接文档.(target就是目标的意思) 一共有(4+1种选择): 用法:<a target="value"> ...

  7. 从C语言的整数取值范围说开去

    在ILP32中, char, short, int, long, long long, pointer分别占1, 2, 4, 4, 8, 4个字节,在 LP64中, char, short, int, ...

  8. 拷贝别人的drawRect绘图分类用途、用法很全。

    拷贝被人的drawRect绘图分类用途,用法很全.留着.供用时参考 // Only override drawRect: if you perform custom drawing. // An em ...

  9. 使用 Qt 获取 UDP 数据并显示成图片(2)

    本文首发于 BriFuture 的 个人博客 在我的前一篇文章 使用 Qt 获取 UDP 数据并显示成图片 中,我讲了如何用 Python 模拟发送数据,如何在 Qt 中高效的接收 UDP 数据包并将 ...

  10. [Visual studio code 常见问题解决] ——中文乱码、

    中文乱码问题解决 描述:刚开始安装VScode要打开含中文的文件,都会出现乱码,这时只要点击右下方的“UTF-8”改成“GB2312”即可.但每次都改是很麻烦的,所以要使得VScode默认支持GB23 ...