sqlldr或者
sql server dts工具。

解决方案 »

  1.   

    我用jsp!
    我要用编程实现,请问大哥们可以帮我吗?
      

  2.   

    当然你可以对excel进行加工处理,产生sql语句,然后执行生成的sql脚本
      

  3.   

    下面的程序可以读出EXCEL表中的字符串和数字类型的内容,但是对于公式,日期等没有作处理
    有兴趣可以自己扩展,我就写到这里啦
    然后讲读出的内容通过JDBC写到ORACLE,这个不用我说了,楼主一定行的。。
    //Function Read data from Excel
    //Author ATGC
    //Date of compilation Oct 29,2004import org.apache.poi.poifs.filesystem.POIFSFileSystem;
    import org.apache.poi.hssf.record.*;
    import org.apache.poi.hssf.model.*;
    import org.apache.poi.hssf.util.*;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFRow; 
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.record.aggregates.FormulaRecordAggregate;
    import java.io.FileInputStream;
    public class  xls2table
    {
    public  static  String  fileToBeRead="e://test.xls";
    public  static  void  main(String  argv[])
    {
    try
    {
    HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
    HSSFSheet    sheet    = workbook.getSheet("Sheet1");
    int rows  =  sheet.getPhysicalNumberOfRows();
                         for (int r = 0; r < rows; r++)
                         {
    HSSFRow row = sheet.getRow(r);
    if (row != null)
    {
    int cells = row.getPhysicalNumberOfCells();
                                    String   value = "";
                                    System.out.println(cells);
    for (short c = 0; c < cells; c++) 
                                 {
                                     HSSFCell cell  = row.getCell(c);
                                     if (cell != null)
                                     {
    switch (cell.getCellType())
                            {
                                             case HSSFCell.CELL_TYPE_FORMULA :
                                                 //
                                                 break;
                            case HSSFCell.CELL_TYPE_NUMERIC:
          value += (long)cell.getNumericCellValue()+"\t";
          break;
                                    case HSSFCell.CELL_TYPE_STRING:
                                    value += cell.getStringCellValue()+"\t";
                                    break;
                            default:
                            value +="\t";
                                          }
                                          }
                                     }
                                     //下面可以将查找到的行内容用SQL语句INSERT到oracle
                                     System.out.println(value);
                                     //
                             }
                     }
    }catch(Exception  e)
    {System.out.println(e);}
    }
    }
      

  4.   

    只是将数据拷入嘛?
    可以选中excel中的数据,然后ctrl+c拷贝,然后再oracle中用pl/sql deveploper打开表,ctrl+v
    ok了
      

  5.   

    其实,我自己做了一个程序,但是,就是有时数据插的进去,有时数据插不进去!
    我是通过odbc连接excel,然后读取,再插入!
    但是,就是老是找不到excel文件中的表!(有时找的到,有时又找不到!)哪为兄弟帮我解决啊!
      

  6.   

    你把excel的格式转变一下,把后缀改为csv 然后用pl/sql develop 就可以直接导入
      

  7.   

    我的肯定行
    其实我不喜欢用java处理这样的问题
    还是Perl好
    java要考虑很多数据类型啦,太严谨了
      

  8.   

    恩恩恩,但客户要求用JAVA,没办法!