日期:2014-05-18  浏览次数:20761 次

excel表如何导入sql2000,请高手指点一下!
我在网上找了一些例子,不过都没有成功了,哪位能够指点一下,最好能给点代码,谢谢!

------解决方案--------------------
用jxl
网上一搜一大堆
------解决方案--------------------
用sql2000自带的数据导入工具就行了
------解决方案--------------------
如果要用代码的话呢, 就先从Excel中读取数据, 然后写入数据库中

有Excel的库, 剩下的就是体力活了
------解决方案--------------------
不知道你要完成什么任务!
------解决方案--------------------
仅仅是表数据完全导入的话,用sql server自带的DTS工具最方便
------解决方案--------------------

从网上搜到的例子,没试过,你可以参考一下,希望对你有所帮助。。


package com.etong.allen;

import java.io.*;
import java.util.*;

import com.roger.util.StringUtil;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;

/** *//**
 * <p>Title: </p>
 * <pre>Description: Excel数据导入到oracle数据库类.
 * </pre>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: 易通技术有限公司</p>
 * @author Allen
 * @version 1.0
 */
public class ExcelImportOracle ...{

 /** *//**
* 用于返回三维数组的ArrayList.
*/
 private static ArrayList subdata = new ArrayList();
 
 /** *//**
* Excel中的表名.
*/
 private static String tablename;
 
 /** *//**
* 文件的路径
*/
 private static String filePath;
 
 /** *//**
* 该方法为完成读取Excel中的数据并将数据插入到对应的数据库表中的操作(在调用前需要先调用setFilePath(String)这个方法.).
* @author Administrator
* @param data:读取Excel中的数据的数组.
* @deprecated:将读取Excel中的数据插入到对应的数据库表中. * 
*/
 public static void ExcelDataImportOracle(String filePath) throws Exception ...{
try ...{
ArrayList al = readExcel(filePath);
InsertData(al);
} catch (Exception e) ...{
e.printStackTrace();
}
 }

 /** *//**
* 读取Excel中的数据.将这些数据放入到一个三维数组中.
* @author Administrator
* @param filePath 文件路径.
* @deprecated:读取Excel中的数据将它放入到ArrayList数组中(此为三维数组).
*/
 public static ArrayList readExcel(String filePath) ...{
try ...{
subdata.clear();//将静态ArrayList数组清空.(如果不清空原数据会不断累加)
InputStream is = new FileInputStream(filePath);
Workbook rwb = Workbook.getWorkbook(is);
// Sheet st = rwb.getSheet(0);//这里有两种方法获取sheet表,1为名字,而为下标,从0开始
// Sheet st = rwb.getSheet("Book1");// Excel中第一页的页名称.
Sheet st[] = rwb.getSheets();// 得到所有Excel中页的列表.
for (int a = 0; a < st.length; a++) ...{
ArrayList alList = new ArrayList();
ArrayList tablenames = new ArrayList();
ArrayList tableAndContents = new ArrayList();
tablename = st[a].getName().trim();
int b = 0;
for (int i = 1; i < st[a].getRows(); i++) ...{
ArrayList al = new ArrayList();
for (int j = 0; j < st[a].getColumns(); j++) ...{
Cell c00 = st[a].getCell(j, i);
// 通用的获取cell值的方式,返回字符串
String strc00 = StringUtil.toISO(c00.getContents().trim());
// 获得cell具体类型值的方式得到内容.
al.add(j, strc00);
}
alList.add(b, al);
b++;
}
tablenames.add(tablename);
tableAndContents.add(0, tablenames);
tableAndContents.add(1, alList);
subdata.add(a, tableAndContents);
}
rwb.close();
// 关闭
//System.out.println(subdata);// 输出
} catch (Exception e) ...{
e.printStackTrace();
}
finally
...{
//删除上传文件
File file = new File(filePath);
boolean result = false;