java方法有excel实现_Java实现EXCEL操作(1)

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]

9298e66f0341cf974d59eccf096c4d92.png

大小: 25.2 KB

eaa7a5abb99c884deca526635162e8c4.png

大小: 75 KB

查看图片附件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434593.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

maven生成javadoc【原创】

1.命令模式&#xff1a; mvn javadoc:javadoc 2.eclipse下&#xff1a; 转载于:https://www.cnblogs.com/caiyuanzai/archive/2012/03/30/2425780.html

S3C2440_MMU

MMU,全称Memory Manage Unit, 中文名——存储器管理单元。 许多年以前&#xff0c;当人们还在使用DOS或是更古老的操作系统的时候&#xff0c;计算机的内存还非常小&#xff0c;一般都是以K为单位进行计算&#xff0c;相应的&#xff0c;当时的程序规模也不大&#xff0c;所以 …

某单位会java_Java核心API -- 4(日期类)

1. Date类(Java.utilDate)java.util.Date类用于封装日期及时间信息&#xff0c;一般仅用它显示某个日期&#xff0c;不对他作任何操作处理&#xff0c;作处理用Calendar类&#xff0c;计算方便。//创建一个Date实例&#xff0c;默认的构造方法创建的日期代表当前系统时间Date d…

java阴阳师抽卡概率_《阴阳师》公布抽卡概率!看到数字我哭了

随着《文化部关于规范网络游戏运营加强事中事后监管工作的通知》(以下简称“通知”)的正式生效&#xff0c;网游与手游似乎也迎来了一个全新的时代&#xff0c;除了我们之前关注的游戏帐号实名制认证之外&#xff0c;道具的合成以及氪金抽卡概率问题也非常值得玩家注意&#xf…

JAVA中返回值为字母时_LeetCode#524通过删除字母匹配到字典里最长单词-java中CompareTo方法用法以及Comparator中Compare方法返回值...

import java.util.Collections;import java.util.Comparator;import java.util.List;/*524. 通过删除字母匹配到字典里最长单词给定一个字符串和一个字符串字典&#xff0c;找到字典里面最长的字符串&#xff0c;该字符串可以通过删除给定字符串的某些字符来得到。如果答案不止…

关于JS中的constructor与prototype

在学习JS的面向对象过程中&#xff0c;一直对constructor与prototype感到很迷惑&#xff0c;看了一些博客与书籍&#xff0c;觉得自己弄明白了&#xff0c;现在记录如下&#xff1a; 我们都知道&#xff0c;在JS中有一个function的东西。一般人们叫它函数。比如下面的代码&…

resolv.conf

文件/etc/resolv.conf配置DNS客户&#xff0c;它包含了主机的域名搜索顺序和DNS服务器的地址&#xff0c;每一行应包含一个关键字和一个或多个的由空格隔开的参数。下面是一个例子文件&#xff1a; search mydom.edu.cnnameserver 210.34.0.14nameserver 210.34.0.2合法的参数及…

C# 温故而知新:Stream篇(六)

C# 温故而知新&#xff1a;Stream篇&#xff08;六&#xff09; BufferedStream 目录&#xff1a; 简单介绍一下BufferedStream如何理解缓冲区&#xff1f;BufferedStream的优势从BufferedStream 中学习装饰模式    如何理解装饰模式    再次理解下装饰模式在Stream中的…

HDU 3306 Another kind of Fibonacci

题意&#xff1a;A(0) 1 , A(1) 1 , A(N) X * A(N - 1) Y * A(N - 2) (N > 2)&#xff1b;给定三个值N&#xff0c;X&#xff0c;Y求S(N):S(N) A(0)2 A(1)2……A(n)2。 思路&#xff1a;原来我们讲的斐波那契数列是&#xff1a; F(0) 1, F(1) 1, F(N) F(N - 1) F(N…

Arm Linux交叉编译和连接过程分析(1)

一、配置内核&#xff08;Kconfig&#xff09; 我们配置内核是实质是根据众多目录下面的Kconfig文件中组合成我们需要的一个最佳选择&#xff0c;即最终在根目录下面生成的.config文件&#xff0c;而这个文件会在根目录Makefile下调用的。这一部分我们主要讨论整个SEP4020体系…

Arm Linux交叉编译和连接过程分析(2)

二、编译内核镜像过程 1、编译过程中涉及到到文件&#xff1a; /Makefile 编译产生顶层vmlinux镜像文件/scripts/Kbuild.include make过程中到一些基本定义 /scripts/Makefile.lib 编译内核时用到到函数库文件 /scripts/Makefile.build 内核编译到相关命令文件…

sql server 2008学习3 表组织和索引组织

表组织 表包含在一个或多个分区中&#xff0c;每个分区在一个堆或一个聚集索引结构包含数据行。堆页或聚集索引页在一个或多个分配单元中进行管理&#xff0c;具体的分配单元数取决于数据行中的列类型。 聚集表、堆和索引 SQL Server 表使用下列两种方法之一来组织其分区中的数…

Oracle备份standby,Oracle 11g 利用泠备份恢复standby库

Oracle 11g 利用泠备份恢复standby库1 开始在备库上进行泠备份先查好控制文件、redo、undo文件、数据文件的路径1.1 先关闭主库的归档日志传输SQL> ALTER system SETlog_archive_dest_state_2 DEFER;System altered.SQL>1.2 先关闭standby库SQL> shutdown immediate;D…

matlab单位阶跃响应与单位脉冲响应,python 已知响应函数求单位阶跃响应或脉冲响应...

最近学习自动控制原理&#xff0c;关于控制系统的一些&#xff0c;老师用布置了一些作业说要用matlab画&#xff0c;我试试python首先介绍一下所使用的库&#xff1a;control matplotlib sympy1.control库&#xff1a;用来计算脉冲响应与阶跃响应Paste_Image.png2.sympy&#x…

$_server['php_self'] 漏洞,Discuz! $_SERVER['PHP_SELF'] XSS Vulnerability

在common.inc.php文件的69行&#xff1a;$PHP_SELF $_SERVER[PHP_SELF] ? $_SERVER[PHP_SELF] : $_SERVER[SCRIPT_NAME];$SCRIPT_FILENAME str_replace(\\\\, /, (isset($_SERVER[PATH_TRANSLATED]) ? $_SERVER[PATH_TRANSLATED] : $_SERVER[SCRIPT_FILENAME]));$boardurl …

【前端破解系列之一】一分钟教你破解下载虾米音乐

虾米音乐网站上有很多高品质的音乐和精心组织的精选集&#xff0c;但普通用户只能试听&#xff0c;不能下载&#xff0c;下载的话需要使用“米”&#xff0c;这个“米”除了极少数的新手任务可以获得之外&#xff0c;基本上都要靠付费来购买&#xff0c;很多人没有网银或者没有…

网络编程常用接口的内核实现----sys_listen()

listen()函数仅在TCP服务器端调用&#xff0c;它做两个事情&#xff1a;将套接字转换到LISTEN状态和设置套接上的最大连接队列。listen()对应的内核实现为sys_listen()&#xff0c;下面开始对其实现作具体的分析。 一、sys_listen()函数 sys_listen()的源码实现及分析如下所示…

linux查看启动配置文件内容,Linux开机启动项的查看和设置方法总结

一、查看开机自启项1.Centos7自启项查看方式从Centos6的chkconfig改为&#xff1a;systemctl list-unit-files2.用grep过滤查看&#xff0c;比如&#xff1a;查看启动项&#xff1a;systemctl list-unit-files | grep enable查看sshd服务自启动情况&#xff1a;systemctl list-…

XP Embedded:不同的用户使用不同的外壳程序

摘要&#xff1a; 能够使应用程序成为外壳程序是 Windows XP Embedded 的关键功能之一。设备可以在自定义外壳程序而不是 Explorer 外壳程序中启动&#xff0c;这提供了两个好处。第一个好处是系统能够更快地启动。Explorer 外壳程序需要花费大量的时间来加载所有支持库和文件…

linux系统中 库分为静态库和,Linux系统中“动态库”和“静态库”那点事儿-【经典好文】...

今天我们主要来说说Linux系统下基于动态库(.so)和静态(.a)的程序那些猫腻。在这之前&#xff0c;我们需要了解一下源代码到可执行程序之间到底发生了什么神奇而美妙的事情。在linux操作系统中&#xff0c;普遍使用ELF格式作为可执行程序或者程序生成过程中的中间格式。ELF(Exec…