我用的eclipse软件做的.上面有个combo下拉控键连接数据表.下面是一个button控键来导出数据表到excel表中.怎么来使用实现button备份combo中选中的数据表? 
新人.请高人指点.(具体语句最好!!)谢谢.

解决方案 »

  1.   

    前段时间正好做了,导入和导出的,你自己看吧
     /**导出数据为XLS格式
      * @param fos
      * @param bo
      */
     public void writeExcelBo(FileOutputStream fos, java.util.Vector ve)
     {
      jxl.write.WritableWorkbook wwb;
      try
      {
       wwb= Workbook.createWorkbook(fos);
       jxl.write.WritableSheet ws= wwb.createSheet("booksheet", 10);
       ws.addCell(new jxl.write.Label(0, 1, "书目ID"));
       ws.addCell(new jxl.write.Label(1, 1, "ISBN"));
       ws.addCell(new jxl.write.Label(2, 1, "定价"));
       ws.addCell(new jxl.write.Label(3, 1, "书名"));
       ws.addCell(new jxl.write.Label(4, 1, "原书名"));
       ws.addCell(new jxl.write.Label(5, 1, "副题名"));
       ws.addCell(new jxl.write.Label(6, 1, "著者"));
       ws.addCell(new jxl.write.Label(7, 1, "译者"));
       ws.addCell(new jxl.write.Label(8, 1, "版次"));
       ws.addCell(new jxl.write.Label(9, 1, "出版地"));
       ws.addCell(new jxl.write.Label(10, 1, "出版社"));
       ws.addCell(new jxl.write.Label(11, 1, "出版日期"));
       ws.addCell(new jxl.write.Label(12, 1, "页数"));
       ws.addCell(new jxl.write.Label(13, 1, "书高"));
       ws.addCell(new jxl.write.Label(14, 1, "装帧"));
       ws.addCell(new jxl.write.Label(15, 1, "丛书名"));
       ws.addCell(new jxl.write.Label(16, 1, "一般性附注项"));
       ws.addCell(new jxl.write.Label(17, 1, "简介"));
       ws.addCell(new jxl.write.Label(18, 1, "主题词"));
       ws.addCell(new jxl.write.Label(19, 1, "中图法分类"));
       ws.addCell(new jxl.write.Label(20, 1, "更新日期"));
       ws.addCell(new jxl.write.Label(21, 1, "本数"));
       book=new Book[ve.size()];
       for (int i= 0; i < ve.size(); i++)
       {
        book[i]= (Book)ve.get(i);
        ws.addCell(new jxl.write.Label(0, i + 2, "" + book[i].getBookId()));
        ws.addCell(new jxl.write.Label(1, i + 2, book[i].getIsbn()));
        ws.addCell(new jxl.write.Label(2, i + 2, "" + book[i].getPrice()));
        ws.addCell(new jxl.write.Label(3, i + 2, book[i].getBookTitle()));
        ws.addCell(new jxl.write.Label(4, i + 2, book[i].getOldFilename()));
        ws.addCell(new jxl.write.Label(5, i + 2, book[i].getSubTitle()));
        ws.addCell(new jxl.write.Label(6, i + 2, book[i].getWriter()));
        ws.addCell(new jxl.write.Label(7, i + 2, book[i].getTranscribe()));
        ws.addCell(new jxl.write.Label(8, i + 2, "" + book[i].getVersion()));
        ws.addCell(new jxl.write.Label(9, i + 2, book[i].getPublishCity()));
        ws.addCell(new jxl.write.Label(10, i + 2, book[i].getPublisher()));
        ws.addCell(new jxl.write.Label(11, i + 2, book[i].getPublishDate().toString()));
        ws.addCell(new jxl.write.Label(12, i + 2, "" + book[i].getPage()));
        ws.addCell(new jxl.write.Label(13, i + 2, "" + book[i].getHight()));
        ws.addCell(new jxl.write.Label(14, i + 2, book[i].getInstall()));
        ws.addCell(new jxl.write.Label(15, i + 2, book[i].getSeries()));
        ws.addCell(new jxl.write.Label(16, i + 2, book[i].getNotes()));
        ws.addCell(new jxl.write.Label(17, i + 2, book[i].getPrecisnotes()));
        ws.addCell(new jxl.write.Label(18, i + 2, book[i].getSubject()));
        ws.addCell(new jxl.write.Label(19, i + 2, book[i].getCls().replaceAll("_", "")));
        ws.addCell(new jxl.write.Label(20, i + 2, book[i].getUpdatedate().toString()));
        ws.addCell(new jxl.write.Label(21, i + 2, "0"));
       }
       jxl.write.WritableFont wfc=
        new jxl.write.WritableFont(
         WritableFont.ARIAL,
         255,
         WritableFont.BOLD,
         false,
         UnderlineStyle.NO_UNDERLINE,
         jxl.format.Colour.BLACK);
       jxl.write.WritableCellFormat wcfFC= new jxl.write.WritableCellFormat(wfc);
       ws.addCell(new jxl.write.Label(0, 0, "为保证您提交定单的稳定和正确,导入定单时候请勿更改此表格式(请勿更改书目ID,订购本数自行添加!)"));
       wwb.write();
       //关闭Excel工作薄对象
       wwb.close();
      } catch (IOException e)
      {} catch (RowsExceededException e)
      {} catch (WriteException e)
      {}
     }
       //导入EXCEL
       if (f.getName().indexOf(".xls") > 0)
       {
        try
        {
         fis= new FileInputStream(f);
         BookBean bob= new BookBean();
         UserBean usb= new UserBean();
         jxl.Workbook rwb= Workbook.getWorkbook(fis);
         jxl.Sheet sh= rwb.getSheet(0);
         int rowCount= sh.getRows();
         SimpleDateFormat sdf= new SimpleDateFormat("dd/MM/yyyy");
         book= new Book[rowCount - 1];
         for (int i= 1; i < rowCount; i++)
         {
          book[i - 1]= new Book();
          jxl.Cell[] ce= sh.getRow(i);
          book[i - 1].setIsbn(ce[0].getContents().toString());
          book[i - 1].setSeries(ce[1].getContents().toString());
          book[i - 1].setBookTitle(ce[2].getContents().toString());
          book[i - 1].setWriter(ce[3].getContents().toString());
          book[i - 1].setTranscribe(ce[4].getContents().toString());
          book[i - 1].setPublisher(ce[5].getContents().toString());
          book[i - 1].setPublishDate(sdf.parse(ce[6].getContents().toString(), new ParsePosition(0)));
          book[i-1].setVersion(Integer.parseInt(ce[7].getContents().toString()));
          book[i-1].setPage(Integer.parseInt(ce[8].getContents().toString()));
          book[i-1].setCls(ce[9].getContents().toString());
          book[i-1].setPrecisnotes(ce[10].getContents().toString());
          book[i-1].setInstall(ce[11].getContents().toString());
          book[i-1].setPrice(Float.parseFloat(ce[12].getContents().toString()));
          book[i-1].setUserid(usb.getUser().getUserid());
          getVector().addElement(book[i - 1]);
         }
         rwb.close();
         fis.close();
        } catch (FileNotFoundException e)
        {} catch (BiffException e)
        {} catch (IOException e)
        {} catch (NumberFormatException e)
        {
         ShowMessage("数据导入失败,请按照本软件要求的EXCEL格式导入定单");
        }
       }
      

  2.   

    try 
                    { 
            conStudent = DriverManager.getConnection("jdbc:sqlserver://BC88C85F46D1415:1433;DatabaseName=master","sa","sa"); 
            String sql="select name from sysobjects where xtype='U'"; 
                Statement cmdStudent = conStudent.createStatement(); 
                ResultSet resultSet=cmdStudent.executeQuery(sql); 
            HSSFWorkbook wb = new HSSFWorkbook(); 
    HSSFSheet sheet = wb.createSheet("new sheet"); 
    HSSFRow row = sheet.createRow((short)0); 
    HSSFCell cell = row.createCell((short)0); 
    ResultSetMetaData md=resultSet.getMetaData(); 
    int nColumn=md.getColumnCount(); 
    //写入各个字段的名称 
    for(int i=1;i <=nColumn;i++) 

    cell = row.createCell((short)(i-1)); 
    cell.setCellType(HSSFCell.CELL_TYPE_STRING); 
    cell.setEncoding(HSSFCell.ENCODING_UTF_16); 
    cell.setCellValue(md.getColumnLabel(i)); 

    int iRow=1; 
    //写入各条记录,每条记录对应Excel中的一行 
    while(resultSet.next()) 
    {row= sheet.createRow((short)iRow);; 
    for(int j=1;j <=nColumn;j++) 
            { 
    cell = row.createCell((short)(j-1)); 
    cell.setCellType(HSSFCell.CELL_TYPE_STRING); 
    cell.setEncoding(HSSFCell.ENCODING_UTF_16); 
    cell.setCellValue(resultSet.getObject(j).toString()); 

    iRow++; 

    FileOutputStream out = new FileOutputStream(file); 
    wb.write(out); 
    out.close(); 
    JOptionPane.showMessageDialog(null,"导出数据成功!"); 
    这是我目前自己写的一个..但是导出的的是所有表的表名.其他内容什么都没.我想导出指定数据表. 
      

  3.   

    二、SQL SERVER 和EXCEL的数据导入导出
    1、在SQL SERVER里查询Excel数据:
    -- ======================================================
    SELECT * 
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
    'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
    下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。
    SELECT * 
    FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
    -------------------------------------------------------------------------------------------------2、将Excel的数据导入SQL server :
    -- ======================================================
    SELECT * into newtable
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
    实例:
    SELECT * into newtable
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
    -------------------------------------------------------------------------------------------------3、将SQL SERVER中查询到的数据导成一个Excel文件
    -- ======================================================
    T-SQL代码:
    EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
    参数:S 是SQL服务器名;U是用户;P是密码
    说明:还可以导出文本文件等多种格式
    实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
    EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'
    在VB6中应用ADO导出EXCEL文件代码: 
    Dim cn  As New ADODB.Connection
    cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"
    cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 库名.dbo.表名" queryout E:\DT.xls -c -Sservername -Usa -Ppassword'"
    ------------------------------------------------------------------------------------------------4、在SQL SERVER里往Excel插入数据:
    -- ======================================================
    insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
    'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)T-SQL代码:
    INSERT INTO  
    OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',  
    'Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')...[Filiale1$]  
    (bestand, produkt) VALUES (20, 'Test')  
    -------------------------------------------------------------------------------------------------
      

  4.   

    您好:hzl0912(血洒孤城)
    您的代码中ResultSetMetaData md=resultSet.getMetaData();  
    这个类ResultSetMetaData , 和getMetaData()这个方法是怎么写的,请您贴上,我现在正面临这样的问题,希望您能帮我,谢谢