package poi;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Iterator;
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 POIExcelReader {
/**
* 读Excel文件的例子
* @param args
* @throws Exception
* date:20080129
*/
public static void main(String[] args) throws Exception {
//以Excel文件创建文件输入流
InputStream myxls = new FileInputStream("src/poi/name.xls");
//以文件输入流创建文档对象
HSSFWorkbook wb = new HSSFWorkbook(myxls);
//获取第一张工作表
HSSFSheet sheet = wb.getSheetAt(0);
//遍历工作表的第一行
Iterator it = sheet.rowIterator();
while(it.hasNext()){
HSSFRow row = (HSSFRow)it.next();
//for(short i=0; i<3 ; i++){
//HSSFCell cell = row.getCell(i); //这里getCell的参数要求是short型的
//if(cell.getCellType()== HSSFCell.CELL_TYPE_STRING){
//System.out.println("单元格是字符串,值是:"+cell.getRichStringCellValue().getString());
//}
//else if(cell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC){
//System.out.println("单元格是数字,值是:"+cell.getNumericCellValue());
//}else{
//System.out.println("单元格的值不是字符串或数值!");
//}
//
//}
//遍历行的第一列(上面的用直接设置i也可以)
Iterator cellIt = row.cellIterator();
while(cellIt.hasNext()){
HSSFCell cell = (HSSFCell)cellIt.next();
//在读取单元值之前,先获取单元格的数据类型
if(cell.getCellType()== HSSFCell.CELL_TYPE_STRING){
System.out.println("单元格是字符串,值是:"+cell.getRichStringCellValue().getString());
}
else if(cell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC){
System.out.println("单元格是数字,值是:"+cell.getNumericCellValue());
}else{
System.out.println("单元格的值不是字符串或数值!");
}
}
}
}
}
创建Excel文档
package poi;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class MySqlExcel {
/**
* 创建Excel文档
* @param args
*/
public MySqlExcel() throws Exception{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/test";
conn = DriverManager.getConnection(url,"root","admin");
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("sheet1");
stmt = conn.createStatement();
String sql = "select * from userinfo";
rs = stmt.executeQuery(sql);
short i = 0;
while(rs.next()){
//创建电子表格的一行
HSSFRow row = sheet.createRow(i);
for(short j=1; j<4 ; j++){
HSSFCell cell = row.createCell((short)(j-1));
HSSFRichTextString strCell = new HSSFRichTextString(rs.getString(j));;
cell.setCellValue(strCell);
}
i++;
}
OutputStream out = new FileOutputStream("src/poi/导出的电子表格.xls");
wb.write(out);
out.close();
System.out.println("从数据库中导出成功");
rs.close();
stmt.close();
conn.close();
}
public static void main(String[] args) throws Exception {
new MySqlExcel();
}
}
分享到:
相关推荐
POI 学习资料POI 学习资料POI 学习资料POI 学习资料
POI学习笔记第二版更详细的POI学习笔记第二版更详细的
excelpoi学习代码
Apache POI学习文档V2.0.md
poi学习笔记,涵盖poi的所有用法,已经每个知识点的小例子
excel文件的读取 数据的生成excel文件,并打包 ,自动导出 poi资料
poi3.8快速学习指南
POI简介:在实际的开发中,表现层的解决方案多种多样,但是IE浏览器已成为最多人使用的浏览器,因为大家都用Windows。在企业办公系统中,常常有客户要求把他们的报表直接用Excel打开(电信系统、银行系统),或者是...
poi的源码和思维导图,值得大家学习!
excelPOI 代码 学习用
poi学习资料,用 java来操作 excel,生成excel文件件,各种形式的报表。
POI的学习笔记,总结的还行。希望大家会喜欢
poi学习的帮助手册,初学者有用,能很容易上手。
以上的poi导入到eclipse中,搭建好eclipse环境项目,那么我们便可更深一步的学习,java读取microsoft office的文件。对于初学者而言可以看看,我试过有成功的,加油!
poi操作excel java源代码分享
excelPOI 操作代码 学习使用
poi对excel控制,poi导出excel的部分的代码,及详细的注解说明,那来学习,自己在搞搞就能加入你的项目了
最全的百度POI分类表.xlsx
最近在学习POI POI的API没有真正的获取填写数据的行数 我在网上找到了 与其分享