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…

图片加到json中,提交到服务器端处理异常问题。

框架&#xff1a;phonegap.利用phonegap 的plungin 取到图片数据 &#xff0c;加到json中&#xff0c;利用jquery的ajax提交到服务器端&#xff0c;在服务器端解析并保存图片。但打开图片时&#xff0c;出现图片已被破坏的提示。或者有时候&#xff0c;提示json中有特殊字符。试…

s3c2440的内存管理机制

1. Nand Flash、Nor Flash、SDRAM地址区别 Nand Flash&#xff1a;ROM&#xff0c;容量大&#xff0c;适用于数据存储&#xff0c;ARM不能从Nand中直接启动&#xff0c;需要把程序从Nand的前4k空间中拷贝到SDRAM&#xff0c;然后再从SDRAM中启动。 Nor Flash&#xff1a;…

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

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

基于easyX的颜色侵略小游戏

是挺久以前做的一个东西&#xff0c;突然想到放上来分享一下俺的拙作&#xff0c;纯原创。 利用二维数组对齐进行划分&#xff0c;并讲状态分为被侵略与未被侵略两种状态来记录。 在旧版的easyX可以运行。源码及exe下载 头文件&#xff1a; 1 #include <graphics.h> 2 …

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

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

记一次 IIS 7.0 身份验证相关的问题解决

今天项目发布到外网服务器后&#xff0c;由于项目需要读写图片&#xff0c;就需要读写图片服务器&#xff0c;上传图片时&#xff0c;老是报“没有权限”。于是&#xff0c;咨询专家后&#xff0c;找到了解决方案。 IIS 项目的属性 > 身份验证 > ASP.NET 模拟 > 启用 …

找了个学习uboot makefile的好地方 不过不让转载 那就把网址分享一下吧

http://haoyeren.blog.sohu.com/86590116.html http://blog.chinaunix.net/uid-20564848-id-3947194.html http://blog.sina.com.cn/s/articlelist_2314879471_0_1.html

关于JS中的constructor与prototype

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

java二级缓存技术_Java二级缓存

第一步所需导入架包log4j-api-2.10.0.jarlog4j-core-2.10.0.jarmybatis-3.4.1.jarmysql-connector-java-5.1.38.jar第二步开始配置数据库的连接br> "http://mybatis.org/dtd/mybatis-3-config.dtd">第三步(文件放在src根目录问件下)日志配置第四步&#xff…

resolv.conf

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

php mvc 路由,PHP手写MVC (五)—— 路由

路由是一个框架中必不可少的组件&#xff0c;其作用是把 URL 按照预定规则解析到特定控制器中。我们在这里定义了两种路由规则&#xff1a;查询字符串。在路径后面使用问号加参数&#xff0c;多个参数用 & 分隔。在配置文件使用 querystring 表示#控制器/方法?参数1值1&am…

ifcfg-eth0 配置

文件&#xff1a;/etc/sysconfig/network-scripts/ifcfg-eth0 以下各值常见于所有的基本配置文件中&#xff1a; * DEVICEname,这里name是物理设备的名字&#xff08;动态分配的PPP设备应当除外&#xff0c; 它的名字是“逻辑名”。 * IPADDRaddr, 这里addr是IP…

我的收藏 - 音频处理相关网站

自己平时用chrome浏览器&#xff0c;用Google帐号同步标签&#xff0c;但有时还是容易丢失一些网址&#xff0c;因此做个简单的同步&#xff01;慢慢更新中... 音频相关算法 http://www.jjj.de/fxt/ http://www.dspguide.com/ http://www.musicdsp.org/files/Audio-EQ-Cookb…

php获取跳转前的地址,PHP获取短链接跳转后的真实地址和响应头信息的方法

PHP获取短链接跳转后的真实地址和响应头信息的方法获取到一个短连接&#xff0c;需要将短连接转换成真实的网址&#xff0c;通过查资料&#xff0c;发现 PHP 提供了一个函数 get_headers() &#xff0c;可以完成这个任务&#xff0c;先把 头部信息获取到&#xff0c;然后再分析…

安装配置opensips过程记录

本文操作系统为CentOS&#xff0c;所用Opensips版本为1.8.2。 Update2013/6/27: 版本1.9.1也已验证通过&#xff0c;下载地址为http://opensips.org/pub/opensips/latest/src/opensips-1.9.1_src.tar.gz 安装CentOS &#xff08;若已有环境可跳过此步骤&#xff09; 1、安装虚拟…

eclipse快捷键Alt + /

很多书籍中Eclipse的快捷键Ctrl Space在中文系统中被Alt / 代替转载于:https://www.cnblogs.com/jubincn/archive/2012/04/19/3381206.html

Linux Kbuild文档 1

Linux内核配置方式1.1 概述 Linux内核源代码组织了一个配置系统&#xff0c;该配置系统可以生成内核配置菜单&#xff0c;方便内核配置。配置系统主要包含Makefile、Kconfig和配置工具&#xff0c;可以生成配置界面。其中&#xff0c;配置界面是通过配置工具来生成的&#xff…