有一个开源的叫做poi,可以解决你的问题。

解决方案 »

  1. 给你网址
    http://jakarta.apache.org/poi/
      

  2. POI是 Apache 组织 Jakarta 项目的子项目。POI 代表 Poor Obfuscation Implementation(不良模糊化实现)。该项目提供 Java™ API 用于处理基于 Microsoft 的 OLE 2 Compound Document 格式的文件格式。该项目分为几个组件,包括一个叫做 HSSF代表 Horrible Spreadsheet Format(可怕的电子表格格式)的组件,它能写 Excel 文件。我手上有这方面的例子,SwingGUI,更改JDBC连接可连接不同数据库。支持DB to Excel & Excel to DB。
      

  3. 在数据库端我就是用sql server的bcp来完成
      

  4. 搞定了,结帖,谢谢各位的支持,同时也将的简单测试源码分享。
    我主要是采用jxl进行开发,详情见http://www.andykhan.com/jexcelapi/index.html
    这里仅仅是将一些数据写进Excel中,当然可以进一步更改,如和数据库交互等。
    /*
     * 创建日期 2004-10-20
     *
     * 更改所生成文件模板为
     * 窗口 > 首选项 > Java > 代码生成 > 代码和注释
     */
    package com.cbl.excel;import java.io.*;import jxl.*;
    import jxl.write.*;
    import jxl.format.*;
    /**
     * @author chenbolong
     *
     * 更改所生成类型注释的模板为
     * 窗口 > 首选项 > Java > 代码生成 > 代码和注释
     */
    public class Test {
    public static void writeExcel(OutputStream os) throws Exception {
    jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os);
    jxl.write.WritableSheet ws = wwb.createSheet("TestSheet1", 0);
    jxl.write.Label labelC = new jxl.write.Label(0, 0, "我为人人");
    ws.addCell(labelC);
    jxl.write.WritableFont wfc =
    new jxl.write.WritableFont(
    WritableFont.ARIAL,
    20,
    WritableFont.BOLD,
    false,
    UnderlineStyle.NO_UNDERLINE,
    jxl.format.Colour.GREEN);
    jxl.write.WritableCellFormat wcfFC =
    new jxl.write.WritableCellFormat(wfc);
    wcfFC.setBackground(jxl.format.Colour.RED);
    labelC = new jxl.write.Label(6, 0, "人人为我", wcfFC);
    ws.addCell(labelC);
    //写入Exel工作表
    wwb.write();
    //关闭Excel工作薄对象
    wwb.close();
    }
    //测试上面的函数
    public static void main(String[] args) {
    File f = new File("new.xls");
    try {
    f.createNewFile();
    } catch (IOException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
    }
    try {
    writeExcel(new FileOutputStream(f));
    } catch (FileNotFoundException e1) {
    // TODO 自动生成 catch 块
    e1.printStackTrace();
    } catch (Exception e1) {
    // TODO 自动生成 catch 块
    e1.printStackTrace();
    }
    }
    }
      

  5. 到http://www.andykhan.com/jexcelapi/index.html下载jxl.jar到classpath中。
      

类似问题 »