参看POI,然后自己包装一下可以实现数据库和xls之间的导入导出,但POI对word支持较差,还在开发中,而且现在很多对word实现操作的组件都是通过JNI的,
偶自己写了一个对word中书签实现操作的java类,另外也可扩展使其支持特定的word中的表格,

解决方案 »

  1.   

    对POI可以去Apache.org看看,那里可以下载release和source
      

  2.   

    这是大家经常问的问题:
    1、利用JAVA操作EXCEL文件:
    http://www-900.ibm.com/developerWorks/cn/java/l-javaExcel/index.shtml2、java抽取word,pdf的四种武器 
    http://www-900.ibm.com/developerWorks/cn/java/l-java-tips/index.shtml
      

  3.   

    这是个导出的例子,导入自然也差不多。
    import oracle.sql.*;
    import oracle.jdbc.*;
    import java.io.*;
    import java.sql.*;
    import javax.sql.*; 
    import oracle.jdbc.driver.*; 
    import oracle.jdbc.pool.*; public class FileOperate{
        public static void main(String args[]){    
         String sDBDriver="oracle.jdbc.OracleDriver";    
    try{
    Connection conn=null;
    Class.forName(sDBDriver);
    conn=DriverManager.getConnection("jdbc:oracle:thin:@192.168.4.143:1521:BUGBASE","tsfdba","oracle");
    Statement stmt = conn.createStatement();

    java.io.File outfile=null;
    FileOutputStream outfstrm=null;
    InputStream istrm=null;
    oracle.jdbc.OracleResultSet rset=null ;
    oracle.sql.BLOB myblob = null; outfile = new java.io.File("d:/test.xls");
    outfstrm = new FileOutputStream(outfile);
    String sql = "SELECT content FROM ACCESSORY WHERE MIMENAME = 'application/vnd.ms-excel'  and bugid='001'";
    rset = (oracle.jdbc.OracleResultSet)(stmt.executeQuery(sql)); if (rset.next()){
         myblob =((oracle.jdbc.OracleResultSet)rset).getBLOB("content");
         istrm = myblob.getBinaryStream();
         int strmdata;
         while((strmdata = istrm.read()) != -1) {
            outfstrm.write(strmdata);
         }
    }
    stmt.execute("commit");
    istrm.close();
    outfstrm.close();
    if(stmt!=null)
    stmt.close();
    if(rset!=null)
    rset.close();
    if(conn!=null)
    conn.close();
    }catch(Exception e){
    System.out.println("e.getMessage()="+e.getMessage());
    }
        }
    }
      

  4.   

    楼上的说的对。我也觉得用jxl比较好。比较简单。
    首先导入jxl。jar。
    然后 写个方法直接用就行了。很容易的
    private void PrintExcal(String result) {
        try {
          WritableWorkbook workbook = Workbook.createWorkbook(new File(result));
          WritableSheet sheet = workbook.createSheet("First Sheet", 0);
          // 定义18号字体
          WritableFont arial18font = new WritableFont(WritableFont.ARIAL, 18);
          WritableCellFormat arial18format = new WritableCellFormat(arial18font);
          //定义14号字体
          WritableFont arial14font = new WritableFont(WritableFont.ARIAL, 14);
          WritableCellFormat arial14format = new WritableCellFormat(arial14font);      jxl.write.Label label = new jxl.write.Label(0, 0, "月报",
                                                      arial18format);
          try {
            sheet.addCell(label);
            label = new jxl.write.Label(0, 2,
                                        InputYear.getText() + "年" +
                                        InputMonth.getText() + "月",
                                        arial14format);
            sheet.addCell(label);
            label = new jxl.write.Label(3, 2, "填表单位:" + DepName.getText(),
                                        arial14format);
      

  5.   

    http://www.zdnet.com.cn/developer/code/story/0,2000081534,39108409,00.htm
    这个地址能帮你 中文带实例