apache的POI
http://jakarta.apache.org/poi/index.html

解决方案 »

  1.   

    使用PrintWriter就可以!!!给个简单的例子给你看:
    生成excel文件代码:
    import java.io.*;
    import java.util.*;
    import java.text.*;
    public class  WriteXlsFile {
      public static String writeXls(StringBuffer xlsConcent,String filePath,String filePreName) {
        String fileName=filePreName+".xls";
        String FullfilePath=filePath+fileName;
        System.out.println("fileName="+FullfilePath);
        try {
          PrintWriter pw = new PrintWriter(new FileWriter(FullfilePath, false), true);
          pw.println(xlsConcent.toString());
        }
        catch (Exception e) {
          System.out.println("error");
        }
        return fileName;
      }
    }其中xlsConcent类同下面的content:
      try {
        StringBuffer content = new StringBuffer();
        java.util.Vector vc = null;//存放取得的结果集记录
        ……
        content.append("\t\t结果集\t");
        content.append("\n");
        //假设结果集为3列        
        content.append("第一列\t");
        content.append("第二列\t");
        content.append("第三列\t");
        content.append("\n");
        //写结果集记录资料
        for(int i=0;i<vc.size();i++) {
          java.util.Hashtable ht = (java.util.Hashtable)vc.elementAt(i);
          sDate = (String)ht.get("date");
          sType =(String)ht.get("type");
          sNo = (String)ht.get("no");
          //开始写
          content.append(sDate+"\t");
          content.append(sType+"\t");
          content.append(sNo+"\t");
          content.append("\n");
        }
        String filePath = "yourpath";
        String filePreName = "yourname";
        String fileName = WriteXlsFile.writeXls(content,filePath,filePreName);
        catch(Exception ex) {
          ex.printStackTrace();
        }
      }
    }
      

  2.   


          java.util.Hashtable ht = (java.util.Hashtable)vc.elementAt(i);
          sDate = (String)ht.get("date");
          sType =(String)ht.get("type");
          sNo = (String)ht.get("no");
    注意哈希表中对应get("字段名")的字段名即为你select语句中的字段名,要小写!!!
      

  3.   

    楼上的,谢谢了。PrintWriter确实能实现写excel文档,但无法灵活控制,我去研究POI看看。