Java实现EXCEL操作(1)

1、实现方法:

现在有三种方法去实现:jxl 、poi 、 FastExcel:97~2003

在这里只讲poi实现方法。poi的包可以去Apache官网上去下载:http://poi.apache.org/download.html

2、poi实现

【1】低版本的导入导出方法:

需要导入jar包:

poi-3.1.5.jar

commons-io-2.2。jar

生成EXCEL:

class="java">import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import org.apache.commons.io.FileUtils;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class PoiExpExcel {

/**

* 生成Excel文件

*/

public static void main(String[] args) {

String[] title = {"id", "name", "sex"};

//创建工作薄

HSSFWorkbook workbook = new HSSFWorkbook();

//创建一个工作表sheet

HSSFSheet sheet = workbook.createSheet();

//创建爱你第一行

HSSFRow row = sheet.createRow(0);

HSSFCell cell = null;

//插入第一行数据id、name、sex

for (int i = 0; i < title.length; i++) {

cell = row.createCell(i);

cell.setCellValue(title[i]);

}

//追加数据

for(int i = 1; i <= 10; i++) {

HSSFRow nextrow = sheet.createRow(i);

HSSFCell cell2 = nextrow.createCell(0);

cell2.setCellValue("" + i);

cell2 =nextrow.createCell(1);

cell2.setCellValue("user" + i);

cell2 =nextrow.createCell(2);

cell2.setCellValue("男");

}

//创建一个文件

File file =new File("C:/Users/Administrator/Desktop/demo1.xls"); //在这里填写存放路径

try {

file.createNewFile();

FileOutputStream stream = FileUtils.openOutputStream(file);

workbook.write(stream);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

解析EXCEL:

import java.io.File;

import java.io.IOException;

import org.apache.commons.io.FileUtils;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class PoiReadExcel {

public static void main(String[] args) {

/**

* 解析Excel文件

*/

File file = new File("C:/Users/Administrator/Desktop/demo1.xls");

try {

HSSFWorkbook workbook =

new HSSFWorkbook(FileUtils.openInputStream(file));

//获取第一个工作表workbook.getSheet("Sheet0");

// HSSFSheet sheet = workbook.getSheet("Sheet0");

//读取默认第一个工作表sheet

HSSFSheet sheet = workbook.getSheetAt(0);

int firstRowNum = 0;

//获取sheet中最后一行行号

int lastRowNum = sheet.getLastRowNum();

for(int i = firstRowNum; i <= lastRowNum; i++) {

HSSFRow row = sheet.getRow(i);

//获取当前行最后单元格列号

int lastCellNum = row.getLastCellNum();

for(int j = 0; j < lastCellNum; j++) {

HSSFCell cell = row.getCell(j);

String value = cell.getStringCellValue();

System.out.print(value + " ");

}

System.out.println();

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

【2】高版本导入导出的方法:

需要导入包:

如附件

生成EXCEL:

import java.io.File;

import java.io.FileOutputStream;

import org.apache.commons.io.FileUtils;

import org.apache.poi.xssf.usermodel.*;

public class CopyOfPoiExp07Excel {

/**

* 生成Excel文件

*/

public static void main(String[] args) {

String[] title = {"id", "name", "sex"};

//创建工作薄

XSSFWorkbook workbook = new XSSFWorkbook();

//创建一个工作表sheet

XSSFSheet sheet = workbook.createSheet();

//创建爱你第一行

XSSFRow row = sheet.createRow(0);

XSSFCell cell = null;

//插入第一行数据id、name、sex

for (int i = 0; i < title.length; i++) {

cell = row.createCell(i);

cell.setCellValue(title[i]);

}

//追加数据

for(int i = 1; i <= 10; i++) {

XSSFRow nextrow = sheet.createRow(i);

XSSFCell cell2 = nextrow.createCell(0);

cell2.setCellValue("" + i);

cell2 =nextrow.createCell(1);

cell2.setCellValue("user" + i);

cell2 =nextrow.createCell(2);

cell2.setCellValue("男");

}

//创建一个文件

File file =new File("C:/Users/Administrator/Desktop/demo1.xlsx");

try {

file.createNewFile();

FileOutputStream stream = FileUtils.openOutputStream(file);

workbook.write(stream);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

解析EXCEL:

import java.io.File;

import java.io.IOException;

import org.apache.commons.io.FileUtils;

import org.apache.poi.xssf.usermodel.XSSFCell;

import org.apache.poi.xssf.usermodel.XSSFRow;

import org.apache.poi.xssf.usermodel.XSSFSheet;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class CopyOfPoiRead07Excel {

public static void main(String[] args) {

//需要解析的Excel文件

File file = new File("C:/Users/Administrator/Desktop/demo1.xls");

try {

XSSFWorkbook workbook =

new XSSFWorkbook(FileUtils.openInputStream(file));

//获取第一个工作表workbook.getSheet("Sheet0");

// XSSFSheet sheet = workbook.getSheet("Sheet0");

//读取默认第一个工作表sheet

XSSFSheet sheet = workbook.getSheetAt(0);

int firstRowNum = 0;

//获取sheet中最后一行行号

int lastRowNum = sheet.getLastRowNum();

for(int i = firstRowNum; i <= lastRowNum; i++) {

XSSFRow row = sheet.getRow(i);

//获取当前行最后单元格列号

int lastCellNum = row.getLastCellNum();

for(int j = 0; j < lastCellNum; j++) {

XSSFCell cell = row.getCell(j);

String value = cell.getStringCellValue();

System.out.print(value + " ");

}

System.out.println();

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

生成文件:

[img][/img]

大小: 25.2 KB

大小: 75 KB

查看图片附件

java方法有excel实现_Java实现EXCEL操作(1)相关推荐

  1. java重命名sheet失败_java jxl excel 数据导出 重新命名无效的工作表名称 | 学步园...

    今天在java中使用jxl导出数据到excel工作表的时候,无论是在线直接打开还是保存到本地再打开,都会提示下面的错误信息: "Excel在'excel.xls'中发现不可读取的内容.是否恢 ...

  2. java excel 操作方式_Java读写Excel基本操作

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能. 接口: HSSF - Microsoft Exce ...

  3. java 读取excel列_Java读取Excel指定列的数据详细教程和注意事项

    本文使用jxl.jar工具类库实现读取Excel中指定列的数据. jxl.jar是通过java操作excel表格的工具类库,是由java语言开发而成的.这套API是纯Java的,并不依赖Windows ...

  4. java导出excel报表_java生成excel报表文件示例

    此次简单的操作将数据从数据库导出生成excel报表以及将excel数据导入数据库 首先建立数据库的连接池: package jdbc; import java.io.FileInputStream; ...

  5. java 生成操作excel文件_Java生成和操作Excel文件

    AVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过纯 ...

  6. java方法定义 与调用_Java方法的定义及调用

    Java方法的定义及调用 通过以上内容的学习,可以看出方法是一段可以完成某个特定功能的并且可以被重复利用的代码片段.接下来我们来学习一下方法应该怎么定义以及怎么调用. 定义/声明方法的语法格式如下所示 ...

  7. java方法传对象参数_Java方法中的参数太多,第2部分:参数对象

    java方法传对象参数 在上一篇文章中 ,我研究了与方法和构造函数的长参数列表相关的一些问题. 在那篇文章中,我讨论了用自定义类型替换基元和内置类型以提高可读性和类型安全性. 这种方法使方法或构造函数 ...

  8. 写出一下Java方法对应的签名_Java中的方法签名是否包含其返回类型?

    Java类/接口中的方法签名是否包括其返回类型? 例: Java是否知道这两种方法之间的区别: public class Foo { public int  myMethod(int param) { ...

  9. java 方法的入口地址_Java 方法

    语法 访问修饰符 返回值类型 方法名(参数列表){ 方法体 } 如果方法的返回类型为 void ,则方法中不能使用 return 返回值. 方法也分为实例方法和类方法,加上关键字 static 的就是 ...

  10. java excel 导出_java导出Excel通用方法实例

    数据导出到Excel几乎是所有客户都会提出的一个需求.下面我就分享一下我的代码. 首先需要引入的jar包: 然后就是正式代码了. package lcy._41_50; import java.io. ...

最新文章

  1. Scikit-learn新版本发布,一行代码秒升级
  2. 财务思维01-财务报表
  3. 第12章:项目采购管理-章节真题
  4. springsecurity sessionregistry session共享_不用 Spring Security 可否?试试这个小而美的安全框架...
  5. python三角形判断白盒测试的代码_进化的测试 软件测试,自动化测试,白盒测试,Python...
  6. 分享Spring Cloud分布式微服务架构图
  7. mysql中字符串拼接函数_MySQL字符串连接函数
  8. 最大化BEA WebLogic Cluster的性能、可用性和安全
  9. java开发C语言编译器
  10. oracle的LAG和LEAD分析函数
  11. 下一个技术之城:长沙
  12. CSS代码重构与优化之路(转)
  13. 【web组件库系列】封装自己的字体图标库
  14. ASP.NET-第二天-加强课程
  15. Kubernetes如何删除deployment
  16. 远程控制工具ToDesk手机端测评,移动办公增强,pad变电脑
  17. C语言常用开发环境IDE
  18. 移动聚合支付招商,管道收入享长期分润
  19. Spark SQL PERCENTILE分析调研
  20. 解决Vue Disconnected from UI server errno: -4058, syscall: ‘scandir‘, code: ‘ENOENT‘,

热门文章

  1. (JAVA)红黑树之自然顺序排序和自定义排序方式
  2. python编程工具是什么_python编程应该用什么工具
  3. Serverless简介
  4. python shelve模块
  5. [HAOI2008]糖果传递 结论题
  6. spring初始化bean时执行某些方法完成特定的初始化操作
  7. 基于 vue2 导航栏透明渐变
  8. hadoop相关随记
  9. web通信 长连接、长轮询
  10. Shared_from_this 几个值得注意的地方