数据库结构
food
字段 类型 说明 备注
[id] bigint 主键Id
[name] Varchar(100) 名称
[bieName] Varchar(150) 别名
Fid Int 一级类别 shiwuClass外键
Sid Int 二级类别
2.营养信息表 food_yyValue
字段 类型 说明 备注
[id] Bigint 主键Id
foodId Bigint 对应的食物food表主键Id food表外键
carbohydrate Varchar(20) 碳水化合物(克)
zhifang Varchar(20) 脂肪(克) 3. 食物和活动分类表:shiwuClass
字段 类型 说明 备注
[id] bigint 主键Id
name Varchar(50) 分类名称
[bieName] Varchar(70) 分类别名
[fatherId] bigint 父分类的id 食物名称 一级类别名 二级类别名     热量(kcal) 蛋白质(克) 脂肪(克)
小麦 谷类   小麦 317 11.9           1.3求教高手

解决方案 »

  1.   

    这个我以前是直接用程序写的!不过是用java写的public static void main(String args[])
    {
    Connection conn=null;
    PreparedStatement ps = null;
    LinkOracle LO=new LinkOracle();

    ///*
    try
    {
    int column=571;
    File directory = new File("");//设定为当前文件夹
    String strPath=directory.getAbsolutePath();
        strPath=strPath+"\\2009.xls";
    Workbook book=Workbook.getWorkbook(new File(strPath));
    Sheet sheet=book.getSheet(0);
    conn=LO.getConnection();


    //插入记录
    String strSQL1="insert into COSTSPLIT_INFO values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
    ps = conn.prepareStatement(strSQL1);

    for(int i=1;i<column;i++)
    {
    ps.setString(1,sheet.getCell(0,i).getContents());
    ps.setString(2,sheet.getCell(1,i).getContents());
    ps.setString(3,sheet.getCell(2,i).getContents());
    ps.setString(4,sheet.getCell(3,i).getContents());
    ps.setString(5,sheet.getCell(4,i).getContents());
    ps.setString(6,sheet.getCell(5,i).getContents());
    ps.setString(7,sheet.getCell(6,i).getContents());
    ps.setString(8,sheet.getCell(7,i).getContents());
    ps.setString(9,sheet.getCell(8,i).getContents());
    ps.setString(10,sheet.getCell(9,i).getContents());
    ps.setString(11,sheet.getCell(10,i).getContents());
    ps.setString(12,sheet.getCell(11,i).getContents());
         ps.setString(13,sheet.getCell(12,i).getContents());
    ps.setString(14,sheet.getCell(13,i).getContents());

    ps.addBatch();
    }

    for(int i=1;i<column;i++)
    {
    ps.setString(1,sheet.getCell(2,i).getContents());
    ps.setString(2,sheet.getCell(1,i).getContents());
    ps.setString(3,sheet.getCell(0,i).getContents());
    ps.setString(4,sheet.getCell(3,i).getContents());
    ps.setString(5,sheet.getCell(4,i).getContents());
    ps.setString(6,sheet.getCell(5,i).getContents());
    ps.setString(7,sheet.getCell(6,i).getContents());
    ps.setString(8,sheet.getCell(7,i).getContents());
    ps.setString(9,sheet.getCell(8,i).getContents());
    ps.setString(10,sheet.getCell(9,i).getContents());
    ps.setString(11,sheet.getCell(10,i).getContents());
    ps.setString(12,sheet.getCell(11,i).getContents());
    ps.setString(13,sheet.getCell(12,i).getContents());
    ps.setString(14,sheet.getCell(13,i).getContents());

    ps.addBatch();
    }

    //执行批量更新
        ps.executeBatch();
        ps.close();
        System.out.println("费率完成批量更新");
        
    book.close();
    LO.closeDatabase();
    }
    catch(Exception e)
    {
    System.out.println(e);
    }你的需要原理应该是一样的!那些字段需要往那里插就直接插了。改下sql就行了
      

  2.   

    临时表

    select ID,Title from 
    opendataSource('Microsoft.Jet.OLEDB.4.0','Data Source="D:\a.mdb";')...B