C# 如何将Excel内容导入到Oracle中

我在Oracle中建了一张表,表名叫“MyTable”为了简便起见,数据库名,用户名密码之类的暂且任意,代码中标注下就好,假设数据库中有三个字段,字段名分别为“MyNam... 我在Oracle中建了一张表,表名叫“MyTable”为了简便起见,数据库名,用户名密码之类的暂且任意,代码中标注下就好,假设数据库中有三个字段,字段名分别为“MyName”、“MyAge”和“MyPP”,我的外部Excel(只有sheet1)中也有三列值与之对应,那么如何将Excel中的内容导入到数据库相应字段中呢?跪求代码!分数不是问题。
顺序导入就行了,不用进行字段配比
展开
 我来答
百度网友07da055
2010-10-25 · TA获得超过659个赞
知道小有建树答主
回答量:356
采纳率:33%
帮助的人:233万
展开全部
楼主的问题 需要分3步
1、获取EXCL表
2、逻辑
3、存入数据库

1) 获取excl
/// <summary>
/// 读取Excel文件,将内容存储在DataSet中
/// </summary>
/// <param name="opnFileName">带路径的Excel文件名</param>
/// <returns>DataSet</returns>
private DataSet ExcelToDataSet(string opnFileName)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + opnFileName + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
OleDbConnection conn = new OleDbConnection(strConn);
string strExcel = "";
OleDbDataAdapter myCommand = null;
DataSet ds = new DataSet();

try
{
strExcel = "select * from [sheet1$]";
conn.Open();
myCommand = new OleDbDataAdapter(strExcel, strConn);
myCommand.Fill(ds, "dtSource");
conn.Close();
}
catch
{
MessageBox.Show("源数据出错!");
DataSet d = new DataSet();
return d;
}
return ds;
}
注意:该方法有似乎只支持97-2003格式的excl,还有就是读取不了第一行,这个问题我找过很多地方,都没有找打答案,我的解决方案就是,表头写两行,因为他不读取第一行数据。另外,尽量不要有空格,容易吧空格后面的内容读掉

2)上面的方法返回的是dataset
然后获取他的第一张表 DataTable dt=ExcelToDataSet(opnFileName).Tables[0];
获取表头 使用一个string保存
直接遍历dt的第一行数据
string s="";
for(int i=0;i<dt.Columns.Count-1;i++)
{
s+=dt.Rows[0][i]+","
}
删掉s最后一个逗号
s.Remove(s.Length - 1);

3)写入数据库

循环获取数据
方法和上面一样
for(int j=1;j<dt.Rows.Count-2;j++) //-2是因为第一行为表头
{
string v="";
for(int i=0;i<dt.Columns.Count-1;i++)
{
v+=dt.Rows[j][i]+","
}
v.Remove(v.Length - 1);

//写入数据库 其他数据库连接我就不写了吧 直接SQL语句
INSERT INTO[表名](s) VALUES(v);
}

中间可能有语法错误,但是流程就是这样了
我也是新手
可能代码有点冗余
位亦02d
2010-10-27
知道答主
回答量:43
采纳率:0%
帮助的人:29.9万
展开全部
我以前做过excl报表的处理,要把你的要求写出程序来,要写太多东西了!给你个思路吧
下面这个地址在网上找的,看一下,大概就是这样儿搞~细细看完!里面包含代码!

参考资料: http://wenku.baidu.com/view/9ca8c0aedd3383c4bb4cd2cf.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式