java操作Excel之POI(1)
一、新建工作簿、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)的更多相关文章
- java操作excel总结---poi
前不久做过Excel的导入导出功能,其主要的难点是java如何操作Excel文档.现在就来介绍一下利用Apache的poi如何操作Excel. 1.准备工作:导入Apache POI的相关jar包,P ...
- 一脸懵逼学习Java操作Excel之POI(Apache POI)
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 1:下面简单的程序来创建一个空白Microsoft ...
- Java操作Excel之POI简单例子
/** * 利用POI操作Excel表单 * * 需要jar包: * HSSF针对03及以前版本,即.xls后缀 * |---poi-3.16.jar * XSSF针对07及以后版本,即xlsx后缀 ...
- Java 操作Excel 之Poi(第一讲)
1.Poi 简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能.HSSF - 提供读写Micros ...
- Java操作excel(POI)
由于在项目中使用了将excel数据导入到数据库.在这里分享一下. 这里使用的POI方式,支持两种格式(xls,xlsx) package com.entity; import java.io.File ...
- java操作Excel的poi的简介
一.POI概述 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 结构: HSSF - 提供读写Mi ...
- java操作Excel之POI(5)利用POI实现使用模板批量导出数据
后台导出方法: 在源文件夹src下面放个准备好的模板:/com/cy/template/userExportTemplate.xls,这个模板有头部一行: /** * 后台导出方法 * 利用POI实现 ...
- java操作Excel之POI(4)利用POI实现数据的批量导出
后台导出方法: /** * 后台导出方法 * 利用POI实现数据的批量导出 */ public String export() throws Exception{ Connection con = n ...
- Java操作Excel之Poi
package com.java1234.poi; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSF ...
- java操作Excel的poi的导出Excel表格
页面布局 点击导出用户:触发函数,直接访问后台 后台方法如下: public String export()throws Exception{ Connection con=null; try { c ...
随机推荐
- struts2 的学习
1.struts.xml 中的action不是代表一个action类(控制器),而是代表一次访问,所以action的name属性和访问路径有关.配置文件中的package的namespace属性其实就 ...
- Free 4 months Serial License Key Of Outpost Security Suite Pro 8.1
VISIT HEREto gey a 1 year key.... for the latest version Promo code ? well use the same here too : C ...
- DevExpress ASPxComboBox lost selected item after postback
<dx:ASPxComboBox ID="cbxSname" ClientInstanceName="cbxSname" Font-Names=" ...
- java解决高并发
1.redis ----------linkedblockQueue rpop lpush 2. 使用消息队列MQ 考虑到数据的一致性,队列的容量就是商品的剩余数量,队列采用的是线程安全的队列Li ...
- rar ubuntu
http://jingyan.baidu.com/article/1612d5004095eee20e1eeeab.html sudo 7z x ***.rar
- jQuery自动完成点击html元素
/************************************************************************** * jQuery自动完成点击html元素 * 声 ...
- Linux Shell查看物理CPU个数、核数、逻辑CPU个数
Linux Shell常用命令: ====================================== # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理C ...
- 解决安装vmware-tools出现的“The path "" is not a valid path to the 3.2.0-4-amd64 kernel headers”问题
在用虚拟机安装使用64位Crunchbang(一种Debian GNU/Linux 的linux)的过程中出现很多小问题.其中vmware-tools安装就是第一个问题. 在使用终端安装vmware- ...
- WPF SourceInitialized 事件
这里先介绍一个窗体的事件SourceInitialized,这个时间发生在WPF窗体的资源初始化完毕,并且可以通过WindowInteropHelper获得该窗体的句柄用来与Win32交互. 具体可以 ...
- some ideas
1. 3d camera h/w: 单反+projector s/w: 抓图 -> 3d成像 -> 3d显示 --> 3d编辑(?具体要那些功能)--> to 3d prin ...