JAVA-POI实现EXCEL的读写

时间:2021-10-13 22:47:54

想要完成JAVA读写EXCEL,首先需要JAVA-POI包的支持,百度搜索即可找到资源,不再赘述:

POI-新增EXCEL并输入内容

package com.gsh.test.poi;

import java.io.FileOutputStream;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor; public class PoiCreateExcel {
/** Excel 文件要存放的位置,假定在D盘下 */
public static String outputFile = "D:\\test.xls"; public static void main(String argv[]) {
try {
// 创建新的Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名为缺省值
// 如要新建一名为"效益指标"的工作表,其语句为:
// HSSFSheet sheet = workbook.createSheet("效益指标");
HSSFSheet sheet = workbook.createSheet("通过POI添加的工作表");
// 在索引0的位置创建行(最顶端的行)
HSSFRow row = sheet.createRow((short) 0);
// 在索引0的位置创建单元格(左上端)
HSSFCell cell = row.createCell((short) 0);
// 定义单元格为字符串类型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 设置该单元格字体格式
HSSFFont font = workbook.createFont();// 新建字体格式
font.setColor(HSSFFont.COLOR_RED);// 设置字体颜色为红色,注:HSSFFont中只有红色,其他颜色请用HSSFColor,下文中有举例
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 设置字体格式为粗体
font.setFontName("楷体");// 设置字体格式为楷体
HSSFCellStyle cellStyle = workbook.createCellStyle();// 新建单元格样式
cellStyle.setFont(font);// 将字体样式应用于单元格样式
cell.setCellStyle(cellStyle);// 将单元格样式应用于单元格
// 在单元格中输入一些内容
cell.setCellValue("增加值1"); // 设置列宽
sheet.setColumnWidth(1, 3766); // 第一个参数代表列id(从0开始),第2个参数代表宽度值 参考
// :"2012-08-10"的宽度为2500
// 在索引1的位置创建行(最顶端的第二行)
HSSFRow row2 = sheet.createRow((short) 1);
// 在索引1的位置创建单元格(左上端第二行第二格)
HSSFCell cell2 = row2.createCell((short) 1);
// 定义单元格为整数类型
cell2.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
// 设置该单元格字体格式(更多设置样式的方法请自行百度,参考地址:http://www.cnblogs.com/zhenmingliu/archive/2012/04/25/2469396.html)
HSSFFont font2 = workbook.createFont();// 新建字体格式
font2.setColor(HSSFColor.BLUE.index);// 设置字体颜色为蓝色,格式HSSFColor.XXX(颜色英文).index(转short类型)
font2.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);// 设置字体格式为粗体
font2.setItalic(true);// 设置字体格式为斜体 true为使用斜体,默认flase
font2.setFontHeightInPoints((short) 16);// 设置字体大小
font2.setFontName("华文彩云");// 设置字体格式为华文彩云
HSSFCellStyle cellStyle2 = workbook.createCellStyle();// 新建单元格样式
cellStyle2.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 设置单元格居中属性
cellStyle2.setFont(font2);// 将字体样式应用于单元格样式
cell2.setCellStyle(cellStyle2);// 将单元格样式应用于单元格
// 在单元格中输入一些内容
cell2.setCellValue("增加值2"); // 新建一输出文件流
FileOutputStream fOut = new FileOutputStream(outputFile);
// 把相应的Excel 工作簿存盘
workbook.write(fOut);
fOut.flush();
// 操作结束,关闭文件
fOut.close();
System.out.println("文件生成成功");
} catch (Exception e) {
System.out.println("文件生成失败: " + e);
}
}
}

成功后,EXCEL的内容:JAVA-POI实现EXCEL的读写

POI-读取新增EXCEL的内容

package com.gsh.test.poi;

import java.io.FileInputStream;
import java.io.InputStream; 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 {
/** Excel文件的存放位置。注意是正斜线 */
public static String fileToBeRead = "D:\\test.xls"; public static void main(String argv[]) {
try {
InputStream file = new FileInputStream(fileToBeRead);
// 创建对Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(
fileToBeRead));
// 创建对工作表的引用。
// 本例是按索引引用
// 在Excel文档中,第一张工作表的缺省索引是0,
HSSFSheet sheet = workbook.getSheetAt(0);
// 也可用getSheet("Sheet1")按名引用,
// 其语句为:HSSFSheet sheet = workbook.getSheet("Sheet1");
// 读取左上端单元
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short) 0);
// 输出单元内容,cell.getStringCellValue()就是取所在单元的值
System.out.println("左上端单元是: " + cell.getStringCellValue());
} catch (Exception e) {
System.out.println("读取失败 : " + e);
}
}
}

控制台输出内容:JAVA-POI实现EXCEL的读写

声明:代码资源来源于网络,经过本人整理修改后发于博客园,未经本人允许不得转载!

JAVA-POI实现EXCEL的读写的更多相关文章

  1. 重构:以Java POI 导出EXCEL为例

    重构 开头先抛出几个问题吧,这几个问题也是<重构:改善既有代码的设计>这本书第2章的问题. 什么是重构? 为什么要重构? 什么时候要重构? 接下来就从这几个问题出发,通过这几个问题来系统的 ...

  2. java POI创建Excel示例(xslx和xsl区别 )

    Java用来处理office类库有很多,其中POI就是比较出名的一个,它是apache的类库,现在版本到了3.10,也就是2014年2月8号这个版本. 在处理PPT,Excel和Word前,需要导入以 ...

  3. 在java poi导入Excel通用工具类示例详解

    转: 在java poi导入Excel通用工具类示例详解 更新时间:2017年09月10日 14:21:36   作者:daochuwenziyao   我要评论   这篇文章主要给大家介绍了关于在j ...

  4. java poi出excel换行问题

    POI操作excel实现换行问题. package jp.co.misumi.mdm.batch.common.jobrunner; import java.io.FileInputStream; i ...

  5. Java POI 导出EXCEL经典实现 Java导出Excel

    转自http://blog.csdn.net/evangel_z/article/details/7332535 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者 ...

  6. java poi操作excel 添加 锁定单元格保护

    Excel的book保护是很常用的,主要是不想让别人修改Excel的时候用.这样能够避免恶意随便修改数据,提高数据的可信度. 下面介绍JAVA POI来实现设置book保护: 使用HSSFSheet类 ...

  7. Java POI 导出excel表

    1.首先下载poi-3.6-20091214.jar,下载地址如下: http://download.csdn.net/detail/evangel_z/3895051 2.Student.java ...

  8. Java POI读取Excel数据&comma;将数据写入到Excel表格

    1.准备 首先需要导入poi相应的jar包,包括: 下载地址:http://pan.baidu.com/s/1bpoxdz5 所需要的包的所在位置包括: 2.读取Excel数据代码 package S ...

  9. 重构:以Java POI 导出EXCEL为例2

    前言 上一篇博文已经将一些对象抽象成成员变量以及将一些代码块提炼成函数.这一节将会继续重构原有的代码,将一些函数抽象成类,增加成员变量,将传入的参数合成类等等. 上一篇博文地址:http://www. ...

  10. JAVA POI替换EXCEL模板中自定义标签(XLSX版本)满足替换多个SHEET中自定义标签

    个人说明:为了简单实现导出数据较少的EXCEL(根据自定义书签模板) 一.替换Excel表格标签方法```/** * 替换Excel模板文件内容 * @param map * 需要替换的标签建筑队形式 ...

随机推荐

  1. React Native知识7-TabBarIOS组件

    一:简介 两个TabBarIOS和TabBarIOS.Item组件可以实现页面Tab切换的功能,Tab页面切换的架构在应用开发中还是非常常见的.如:腾讯QQ,淘宝,美团外卖等等 二:TabBarIOS ...

  2. Python脚本控制的WebDriver 常用操作 &lt&semi;八&gt&semi; 简单的对象定位

    这一部分的内容,将是在WebDriver中,定位元素方法的演示,是将Selenium中Selenese元素定位命令的WebDriver中使用方法的结合 Selenium中元素定位方法复习可以参考: & ...

  3. java Comparable和Comaprator的对比

    Comparable使一个class具备不同实例间进行比较的行为.这些对象的集合,可作为Collections.sort或Arrays.sort的参数 Comparator可以看成一种算法的实现,将算 ...

  4. java-基础练习题3

    [程序3] 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因 ...

  5. &lbrack;vijos 1770&rsqb;大内密探

    描述 在古老的皇宫中,有N个房间以及N-1条双向通道,每条通道连接着两个不同的房间,所有的房间都能互相到达.皇宫中有许多的宝物,所以需要若干个大内密探来守护.一个房间被守护当切仅当该房间内有一名大内密 ...

  6. uva 11609

    可以想到 答案为 1*C(1,n)+2*C(2,n)+3*C(3,n)+....+n*C(n,n); 由公式 k*C(k,n) = n*C(k-1,n-1) 所以最终答案 n*2^(n-1) 用到快速 ...

  7. 简单3d RPG游戏 之 002 生命条(二)

    在游戏中,游戏人物的血条可能会因为受伤或吃血瓶而长度变化,所以需要将血条的长度单独提出来作为一个变量,方便直接修改数值. public float healthBarLength; 改变生命值函数如下 ...

  8. 懂说话,让冲突、尴尬时刻都bye-bye

    回忆一下自己从小到大的成长历程,你容不容易交到新朋友?在不熟悉的社交场合中,你是否也曾面临坐立难安.不知从何聊起的窘境?事实上,无论身处学校或社会,担任职务是基础或高阶,终其一生都会派上用场的能力,就 ...

  9. NET基础课--XML基础

    id level是属性,title为子节点 接下来操作子节点 比较xml的处理方式: 1和3适合数据量小的时候.

  10. SQL Server identity种子

    背景: 用identity修饰列可以使它自动增长 例了: create table T(ID int not null identity(1,1),      Data nvarchar(32)); ...