qq_31071631 2016-01-21 07:38 采纳率: 0%
浏览 1499

导出数据到excel求解) 报路径的错但是路径是对的

package com.javen.excel;

import java.io.File;

import java.io.IOException;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import com.javen.db.JDBCConn;

import jxl.Workbook;

import jxl.write.Label;

import jxl.write.WritableSheet;

import jxl.write.WritableWorkbook;

/**

  • 主要是用来创建excel工作薄
    */

    public class MysqlToExcelUp {

    public void WriteExcel(File fileName,ResultSet rs) throws Exception{

          //创建一个新的工作薄,fileName 包含了文件名以及路径。  
          WritableWorkbook wwb = null;  
          WritableSheet ws = null;  
          try {  
            wwb = Workbook.createWorkbook(fileName);  
            ws = wwb.createSheet("sheettest", 0);//给工作薄添加一个工作表,命名为 sheettest.  
          } catch (IOException e) {  
           // TODO Auto-generated catch block  
           e.printStackTrace();  
          }  
    
          int i = 0;  
          int j = 0;  
    
          //下面for循环里面的rs.getMetaData().GetColumnCount() 获取数据库中某个表的列总数  
          for (int k = 0; k < rs.getMetaData().getColumnCount(); k++)   
          {  
           //rs.getMetaData().getColumnName()获取表的列名。并添加到 excel表Label里,Label(i,j,s)表示i列j行添加s,s必须是String  
           ws.addCell(new Label(k, 0, rs.getMetaData().getColumnName(k + 1)));  
          }  
          while (rs.next()) {  
           //算法,依次添加数据库中所有符合的数据到excel中  
           for (int k = 0; k < rs.getMetaData().getColumnCount(); k++) {  
            ws.addCell(new Label(k, j + i + 1, rs.getString(k + 1)));  
           }  
           i++;  
          }  
          wwb.write();//写入工作薄  
          wwb.close();//关闭工作薄  
          rs.close();//关闭结果集  
         }  
    
         public static void main(String[]args){  
          MysqlToExcelUp mexel = new MysqlToExcelUp();  
          JDBCConn myjdbc = new JDBCConn();  
          myjdbc.getConnection();  
          String sql = "select * from stu";  
          Statement stm = null;  
          ResultSet rs = null;  
          File newFile = new File("D:\\excel.xls");  
          try {  
           stm = myjdbc.getConnection().createStatement();  
           rs = stm.executeQuery(sql);  
          } catch (SQLException e) {  
           // TODO Auto-generated catch block  
           e.printStackTrace();  
          }  
          try {  
           mexel.WriteExcel(newFile , rs);  
          } catch (Exception e) {  
           // TODO Auto-generated catch block  
           e.printStackTrace();  
          }  
          try {  
           myjdbc.getConnection().close();  
           //关闭数据库连接  
          } catch (SQLException e) {  
           // TODO Auto-generated catch block  
           e.printStackTrace();  
          }  
    

    }

    }

    java.io.FileNotFoundException: D:\excel.xls (拒绝访问。)报这样的错

  • 写回答

3条回答 默认 最新

  • tony4geek 2016-01-21 07:40
    关注

    D:\excel.xls 右击看看文件时不是只读。

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)