java 连接excel_java实现excel和数据的交互

1. 环境要求

本文环境为: 数据库为oracle,jdk为jdk7,依赖jar包为ojdbc6-11.2.0.4.0.jar+poi-3.14.jar

2.POI 使用

1. 建立工作空间

2. 获取sheet

3. 使用row

4. 使用cell

3. 代码部分一

3.1 使用方法导出,代码如下

private static void test1() {

Connection con=null;

PreparedStatement preStatement=null;

ResultSet result=null;

try{

/**

* 数据库连接

*/

Class.forName("oracle.jdbc.driver.OracleDriver");

System.out.println("开始尝试连接数据库!");

String url = "jdbc:oracle:" + "thin:@127.0.0.1:1521:localOracle";

String user = "hsm";

String password = "1994713";

con = DriverManager.getConnection(url, user, password);

System.out.println("连接成功!开始查询数据");

/**

* 执行sql语句,将结果保存在result中

*/

String sql = "select dict_type,dict_value,dict_desc from frp_dict ";

preStatement = con.prepareStatement(sql);

result = preStatement.executeQuery();

/**

* 创建excel头

*/

List headers=new ArrayList();

headers.add("dict_type");

headers.add("dict_value");

headers.add("dict_desc");

//创建新工作簿

HSSFWorkbook workbook = new HSSFWorkbook();

//新建工作表

HSSFSheet sheet = workbook.createSheet("frp_dict");

//创建行,行号作为参数传递给createRow()方法,第一行从0开始计算

HSSFRow row = sheet.createRow(0);

for(int i=0;i

HSSFCell cell=row.createCell(i);

cell.setCellValue(headers.get(i));

}

int rowTemp=1;

while(result.next()){

row = sheet.createRow(rowTemp);

for(int i=0;i

HSSFCell cell=row.createCell(i);

cell.setCellValue(result.getString(headers.get(i)));

}

rowTemp++;

}

FileOutputStream fos = new FileOutputStream(new File("C:\\Users\\hsm\\Desktop\\exportTest.xls"));

workbook.write(fos);

workbook.close();

fos.close();

}catch (Exception e){

e.printStackTrace();

}finally{

try{

// 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源

// 注意关闭的顺序,最后使用的最先关闭

if (result != null)

result.close();

if (preStatement != null)

preStatement.close();

if (con != null)

con.close();

System.out.println("数据库连接已关闭!");

}

catch (Exception e)

{

e.printStackTrace();

}

}

}

3.2 导出结果展示

bdedede68e711c154c106cc65c773106.png

4 代码部分二

4.1 调用方法导入,方法如下

private static void test3(){

Connection con=null;

PreparedStatement

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值