java_poi
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;
import org.junit.Test;
public class poi_write {
@Test
public void testWrite() {
final String [] str = {"id", "姓名", "性别"};
//创建Excel工作薄
HSSFWorkbook workbook = new HSSFWorkbook();
//创建Excel工作表
HSSFSheet sheet = workbook.createSheet();
//创建第一行
HSSFRow row = sheet.createRow(0);
//定义单元格
HSSFCell cell = null;
//添加表头,为第一行填充内容
for (int i = 0; i < str.length; i++) {
cell = row.createCell(i);
cell.setCellValue(str[i]);
}
//追加数据,创建十行,为每行添加数据,每行三个单元格,下表依次0,1,2
for (int i = 1; i <= 10; i++) {
HSSFRow rows = sheet.createRow(i);
HSSFCell cell_id = rows.createCell(0);
cell_id.setCellValue(i+"");
HSSFCell cell_name = rows.createCell(1);
cell_name.setCellValue("name:"+i);
HSSFCell cell_sex = rows.createCell(2);
cell_sex.setCellValue("男");
}
//文件保存路径
File file = new File("E:/tmp/poi_text.xls");
try{
if(!file.exists()){
file.createNewFile();
}
FileOutputStream fileOut = new FileOutputStream(file);//创建一个文件输出流对象
workbook.write(fileOut);
fileOut.close();//关闭输出流对象
}catch (Exception e) {
e.printStackTrace();
}
System.out.println("Excel文件已生成");
}
@Test
public void testRead() {
final File file = new File("E:/tmp/poi_text.xls");
if(file.exists()){
try {
//生成workbook
HSSFWorkbook workbook = new HSSFWorkbook(FileUtils.openInputStream(file));
// workbook.getSheet("Sheet0");//获得指定的工作表
// HSSFSheet sheet = workbook.getSheet("Sheet0");
//workbook.getSheetAt(0);//默认获得第一个工作表
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) {
e.printStackTrace();
}
}else{
System.out.println("读取文件不存在");
}
}
}
jar包 :poi-3.8-20120326.jar
java_poi的更多相关文章
- Java_POI之MS-Excel2003(扩展名.xls)升级至MS-Excel2007及以上版本(扩展名.xlsx)技术过程概要
Java_POI之MS-Excel2003(扩展名.xls)升级至MS-Excel2007及以上版本(扩展名.xlsx)技术过程概要 作者:Eric.Zhang(花名:穿越者7号) 日期:2015年1 ...
- JAVA_POI 操作Excel
转自: http://rensanning.iteye.com/blog/1538591# Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API ...
随机推荐
- [jzoj 5781]【NOIP提高A组模拟2018.8.8】秘密通道 (最短路)
传送门 Description 有一副nm的地图,有nm块地,每块是下列四种中的一种: 墙:用#表示,墙有4个面,分别是前面,后面,左面,右面. 起点:用C表示,为主角的起点,是一片空地. 终点:用F ...
- Dell R720修改远程管理口的密码
今天有个客户需要通过远程管理口来查看系统事件日志,但是他们把初始密码改过并且还给忘记了.后来我决定进操作系统(cent os)进行修改.整个过程很简单,进入系统后只需要三个步骤就解决问题了 1.安装软 ...
- vue全局使用axios的方法
在vue项目开发中,我们使用axios的二次封装,很多人一开始使用axios的方式,会当成vue-resoure的使用方式来用,即在主入口文件引入import VueResource from 'vu ...
- Codeforces 1106F Lunar New Year and a Recursive Sequence (数学、线性代数、线性递推、数论、BSGS、扩展欧几里得算法)
哎呀大水题..我写了一个多小时..好没救啊.. 数论板子X合一? 注意: 本文中变量名称区分大小写. 题意: 给一个\(n\)阶递推序列\(f_k=\prod^{n}_{i=1} f_{k-i}b_i ...
- 关于 图论·并查集·HDU1232&1856
其核心是追溯其根数和链接两个数,而HDU 1856要多一步,每一个根数要标记自己和自己子数的个数,因此用结构体.注意:1856 用C写没超时,用C++写超时了╮(╯﹏╰)╭ 接下来是题目和代码: 畅通 ...
- MySQL用Load Data local infile 导入部分数据后中文乱码
今天在两台MySQL服务器之间导数据,因为另一个MySQL服务器是测试用的,差一个月的数据,从现有MySQL服务器select到一个文件,具体语句是: select * from news where ...
- Docker installation in sles SP2
Please refer to official site for installation details : https://docs.docker.com/install/linux/doc ...
- hibernate反向生成
1.在Myeclipse Database Explore中创建一个库的链接. 2.在Myeclipse中创建一个web工程,添加反向生成相关的引用.即在项目上右键,弹出Myeclipse选择add ...
- 网络编程中的CAP & 有趣的存储框架(关系型、NoSQL)全图
第七篇 CAP https://zhuanlan.zhihu.com/p/20399316?refer=auxten CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer’s t ...
- Google面试题-高楼扔鸡蛋问题
本文由 @lonelyrains 出品.转载请注明出处. 文章链接: http://blog.csdn.net/lonelyrains/article/details/46428569 高楼扔鸡蛋问 ...