一、新建工作簿、sheet、单元格

 public static void main(String[] args) throws Exception {
Workbook wb = new HSSFWorkbook(); //定义一个新的工作簿
Sheet sheet = wb.createSheet("第一个sheet页");
wb.createSheet("第二个sheet页");
Row row = sheet.createRow(0); //创建第0行
Cell cell = row.createCell(0); //创建一个单元格,第0行,第1列
cell.setCellValue(1); //给单元格设置值
row.createCell(1).setCellValue(1.2); //第2列
row.createCell(2).setCellValue("这是一个字符串");
row.createCell(3).setCellValue(false);
FileOutputStream fileOut = new FileOutputStream("E:\\用POI搞出来的工作簿3.xls");
wb.write(fileOut);
fileOut.close();
}

效果图:

二、创建一个时间格式的单元格:

 public static void main(String[] args) throws Exception {
Workbook wb = new HSSFWorkbook(); //定义一个新的工作簿
Sheet sheet = wb.createSheet("第一个sheet页");
wb.createSheet("第二个sheet页");
Row row = sheet.createRow(0); //创建第0行
Cell cell = row.createCell(0); //创建一个单元格,第0行,第1列
cell.setCellValue(new Date()); CreationHelper creationHelper = wb.getCreationHelper();
CellStyle cellStyle = wb.createCellStyle();
//设置单元格时间格式
cellStyle.setDataFormat(creationHelper.createDataFormat().getFormat("yyyy-mm-dd hh:mm:ss"));
cell = row.createCell(1); //第2列
cell.setCellValue(new Date());
cell.setCellStyle(cellStyle); cell = row.createCell(2); //第3列
cell.setCellValue(Calendar.getInstance());
cell.setCellStyle(cellStyle); FileOutputStream fileOut = new FileOutputStream("E:\\工作簿.xls");
wb.write(fileOut);
fileOut.close();
}

效果:

三、创建不同格式的单元格:

/**
* 创建不同格式的单元格
*/
public static void main(String[] args) throws Exception {
Workbook wb = new HSSFWorkbook(); //定义一个新的工作簿
Sheet sheet = wb.createSheet("第一个sheet页");
Row row = sheet.createRow(0); //第一行
row.createCell(0).setCellValue(new Date()); //第1列
row.createCell(1).setCellValue(1);
row.createCell(2).setCellValue("一个字符串");
row.createCell(3).setCellValue(true);
row.createCell(4).setCellValue(HSSFCell.CELL_TYPE_NUMERIC);
row.createCell(5).setCellValue(false); FileOutputStream fileOut = new FileOutputStream("E:\\工作簿2.xls");
wb.write(fileOut);
fileOut.close();
}

三、遍历一个工作簿:

 /**
* 遍历一个工作簿
*/
public static void main(String[] args) throws Exception {
InputStream is = new FileInputStream("E:\\二货.xls");
POIFSFileSystem ps = new POIFSFileSystem(is);
HSSFWorkbook wb = new HSSFWorkbook(ps);
HSSFSheet hssfSheet = wb.getSheetAt(0); //获取第一个sheet页
if(hssfSheet == null){
return;
}
//遍历row
for(int rowNum=0; rowNum<=hssfSheet.getLastRowNum(); rowNum++){
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
if(hssfRow == null){
continue;
}
//遍历行
for(int cellNum=0; cellNum<=hssfRow.getLastCellNum(); cellNum++){
HSSFCell hssfCell = hssfRow.getCell(cellNum);
if(hssfCell == null){
continue;
}
System.out.print(getValue(hssfCell) + " ");
} System.out.println();
} is.close();
} private static String getValue(HSSFCell hssfCell){
if(hssfCell.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN){
return String.valueOf(hssfCell.getBooleanCellValue());
}else if(hssfCell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC){
return String.valueOf(hssfCell.getNumericCellValue());
}else{
return String.valueOf(hssfCell.getStringCellValue());
}
}

四、提取文本:

 /**
* 提取文本
*/
public static void main(String[] args) throws Exception {
InputStream is = new FileInputStream("E:\\二货.xls");
POIFSFileSystem ps = new POIFSFileSystem(is);
HSSFWorkbook wb = new HSSFWorkbook(ps); ExcelExtractor excelExtractor = new ExcelExtractor(wb);
excelExtractor.setIncludeSheetNames(false); //不需要sheet页的名字
System.out.println(excelExtractor.getText());
}

java操作Excel之POI(1)的更多相关文章

  1. java操作excel总结---poi

    前不久做过Excel的导入导出功能,其主要的难点是java如何操作Excel文档.现在就来介绍一下利用Apache的poi如何操作Excel. 1.准备工作:导入Apache POI的相关jar包,P ...

  2. 一脸懵逼学习Java操作Excel之POI(Apache POI)

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 1:下面简单的程序来创建一个空白Microsoft ...

  3. Java操作Excel之POI简单例子

    /** * 利用POI操作Excel表单 * * 需要jar包: * HSSF针对03及以前版本,即.xls后缀 * |---poi-3.16.jar * XSSF针对07及以后版本,即xlsx后缀 ...

  4. Java 操作Excel 之Poi(第一讲)

    1.Poi 简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能.HSSF - 提供读写Micros ...

  5. Java操作excel(POI)

    由于在项目中使用了将excel数据导入到数据库.在这里分享一下. 这里使用的POI方式,支持两种格式(xls,xlsx) package com.entity; import java.io.File ...

  6. java操作Excel的poi的简介

    一.POI概述 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 结构: HSSF - 提供读写Mi ...

  7. java操作Excel之POI(5)利用POI实现使用模板批量导出数据

    后台导出方法: 在源文件夹src下面放个准备好的模板:/com/cy/template/userExportTemplate.xls,这个模板有头部一行: /** * 后台导出方法 * 利用POI实现 ...

  8. java操作Excel之POI(4)利用POI实现数据的批量导出

    后台导出方法: /** * 后台导出方法 * 利用POI实现数据的批量导出 */ public String export() throws Exception{ Connection con = n ...

  9. Java操作Excel之Poi

    package com.java1234.poi; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSF ...

  10. java操作Excel的poi的导出Excel表格

    页面布局 点击导出用户:触发函数,直接访问后台 后台方法如下: public String export()throws Exception{ Connection con=null; try { c ...

随机推荐

  1. C标准中一些预定义的宏,如__FILE__,__func__等

    C标准中一些预定义的宏 C标准中指定了一些预定义的宏,对于编程经常会用到.下面这个表中就是一些常常用到的预定义宏. 宏 意义 __DATE__ 进行预处理的日期(“Mmm dd yyyy”形式的字符串 ...

  2. (转)git合并多个commit

    原文地址:http://platinhom.github.io/2016/01/02/git-combine_commit/ 有时commit多了看着会不爽.所以想合并掉一些commit. 这里是最简 ...

  3. 攻防:文件上传漏洞的攻击与防御,转自H3C

    WebShell就是以asp.php.jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门.黑客在入侵了一个网站后,通常会将这些asp或php后门文件与网站服务器WEB目 ...

  4. avalon源码阅读(1)

    来源 写angularJS源码阅读系列的时候,写的太垃圾了. 一个月后看,真心不忍直视,以后有机会的话得重写. 这次写avalonJS,希望能在代码架构层面多些一点,少上源码.多写思路. avalon ...

  5. 解决Android4.3版本下,手机短彩接收中文文件名附件,中文名字的附件无法保存(第二步:解决从从数据库中读取附件文件名,并在长按后保存附件时,中文乱码导致的无法保存附件)

    从第一步我们发现,在第一步修改之后,在短彩绘画界面中中文附件名的附件已无法显示,经过打印堆栈我们发现还是中文乱码在作祟.下面我们接着进行分析,这次我们从UI层往逻辑处理层进行分析.首先我们找到保存附件 ...

  6. PyQt5编程:鼠标事件

    参考链接:https://www.cnblogs.com/zhuluqing/p/9028816.html 一.每个事件都被封装成相应的类: pyqt中,每个事件类型都被封装成相应的事件类,如鼠标事件 ...

  7. vue 登录验证引擎

    1.router配置: 路由元信息 const router = new VueRouter({ routes: [ { path: '/foo', component: Foo, children: ...

  8. SSH MVC

    1.MVC(Model-View-Controller)设计模式: 首先让我们了解下MVC(Model-View-Controller)的概念: MVC全名是Model View Controller ...

  9. Robot Framework 安装笔记

    安装python 自行搜寻安装 安装pip 进入python目录下的Scripts文件夹下,cmd,执行easy_install.exe pip 安装pywin32 pip install pywin ...

  10. mysql完整版

    mysql: dbs 数据库系统 bdms 数据库管理系统 bda 数据库管理员 db 数据库 dba通过dbms来操作db! 关系型数据库和非关系型数据库 登录mysql mysql -h主机地址 ...