java实现Excel上传下载
需要poi对应jar包下载地址
点我下载
http://download.csdn.net/download/weixin_39549656/10161349
项目demo包含poi下载地址,点我下载
生成简单的Excel
public class 生成简单的Excel {
/**
* 功能:生成Excel
* 步骤:
* 1.在内存中,创建一个空白的【Excel文档对象】
2.为【Excel文档对象】创建一个【小页对象】
3.指定需要被占用的【数据行对象】
4.根据指定的列数,【占用】当前行中关联的【单元格】
5.向【单元格】填充数据
6.通过POI提供的I/O流,将内存中【Excel文档对象】导出到硬盘上,生成真实的Excel文档
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//1.在内存中,创建一个空白的【Excel文档对象】
HSSFWorkbook excelObj= new HSSFWorkbook();
//2.为【Excel文档对象】创建一个【小页对象】
HSSFSheet sheetObj= excelObj.createSheet("第一个小页");
//3.指定需要被[占用]的【数据行对象】
HSSFRow rowObj= sheetObj.createRow(0);
//4.根据指定的列数,【占用】当前行中关联的【单元格】
HSSFCell cellObj=rowObj.createCell(0);
//5.向【单元格】填充数据
cellObj.setCellValue("部门名称");
//6.通过POI提供的I/O流,将内存中【Excel文档对象】导出到硬盘上,生成真实的Excel文档
OutputStream out = new FileOutputStream("C:\\Users\\Administrator\\Desktop\\t.xls");
excelObj.write(out);
out.close();
}
}
POI实现单元格合并处理
public class POI实现单元格合并处理 {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
HSSFWorkbook excelObj = new HSSFWorkbook();
HSSFSheet sheetObj =excelObj.createSheet("单元格合并");
//起始单元格 0行0列 结束单元格 1行1列
//CellRangeAddress(起始单元格行数,结束单元格行数,起始单元格列数,结束单元格列数)
CellRangeAddress rang= new CellRangeAddress(0,1,0,1);
sheetObj.addMergedRegion(rang);//单元格合并;
//使用合并之后的单元格
HSSFRow rowObj= sheetObj.createRow(0);
HSSFCell cell=rowObj.createCell(0);//就是合并之后生成的单元格
cell.setCellValue("单元格合并");
OutputStream out = new FileOutputStream("C:\\Users\\Administrator\\Desktop\\单元格合并.xls");
excelObj.write(out);
out.close();
}
}
java实现读取Excel文件
public class POI读取职员信息 {
/**
* 功能:将D盘下emp.xls加载到内存中
* 步骤:
* 1. 将硬盘上的excel文档,加载到内存中
2. 读取excel文档中第一个小页
3. 读取小页中所有拥有数据的数据行对象并保存到迭代器
4. 循环迭代器,输出每一个数据行的内容
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//1. 将硬盘上的excel文档,加载到内存中
String path = Class.class.getClass().getResource("/").getPath();
InputStream in = new FileInputStream(path+"user/t.xls");
HSSFWorkbook excelObj = new HSSFWorkbook(in);
//2. 读取excel文档中第一个小页
HSSFSheet sheetObj=excelObj.getSheetAt(0);
//3. 读取小页中所有拥有数据的数据行对象并保存到迭代器
Iterator it=sheetObj.rowIterator();
//4. 循环迭代器,输出每一个数据行的内容
while(it.hasNext()){
HSSFRow rowObj= (HSSFRow) it.next();
HSSFCell c1= rowObj.getCell(0);
HSSFCell c2= rowObj.getCell(1);
HSSFCell c3= rowObj.getCell(2);
String ename = c1.getStringCellValue(); // rs.getString
String job = c2.getStringCellValue();
int sal=(int)c3.getNumericCellValue();
System.out.println(ename+" "+job+" "+sal);
}
}
}