问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C#中基于XML的Excel中的数据导入Oracle数据库,通过调用封装好的Delphi来解析Xml的思路和代码

发布网友 发布时间:2022-04-10 15:37

我来回答

1个回答

热心网友 时间:2022-04-10 17:07

string strSqlTmp = "";
if (dlr == DialogResult.Yes)
{
string filePath = "";
OpenFileDialog openFiledialog1 = new OpenFileDialog();
openFiledialog1.Filter = "Excel文件(*.xls)|*.xls";
DialogResult result = openFiledialog1.ShowDialog();
if (DialogResult.OK == result)
{
filePath = openFiledialog1.FileName;

string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';";
string sql_excel = "select * from [Sheet1$]";
try
{
OleDbConnection thisconnection = new OleDbConnection(conn);
thisconnection.Open();
OleDbDataAdapter mycommand = new OleDbDataAdapter(sql_excel, thisconnection);

mycommand.Fill(dst, "[Sheet1$]");
}
catch (Exception)
{

MessageBox.Show("打开Excel文件失败,文件格式不正确,可能由于Excel表中表名不是[Sheet1]引起的!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}

//universalDAL.ConnectionString = DBInfos.ConnectionString.ToString();
int insertNumb = 0; //记录插入条数
int updateNumb = 0; //记录更新条数
int compareEqualIndex = -1; //判断是更新还是插入操作
if (dst.Tables[0].Columns.Count == ds.Tables[0].Columns.Count)
{
for (int i = 0; i < dst.Tables[0].Rows.Count; i++)
{
for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
{
if (string.Compare(dst.Tables[0].Rows[i][0].ToString(), ds.Tables[0].Rows[j][0].ToString()) == 0)
{
compareEqualIndex = i;
}
}
if (compareEqualIndex != -1)
{
strSqlTmp = "UPDATE PAY SET name = '" + dst.Tables[0].Rows[i][1].ToString() + "', " +
"sex = '" + dst.Tables[0].Rows[i][2].ToString() + "', " +
"daynum = '" + dst.Tables[0].Rows[i][3].ToString() + "' " +
"wages = '" + dst.Tables[0].Rows[i][4].ToString() + "' " +
"subsidy = '" + dst.Tables[0].Rows[i][5].ToString() + "' " +
"comm = '" + dst.Tables[0].Rows[i][6].ToString() + "' " +
"JBF = '" + dst.Tables[0].Rows[i][7].ToString() + "' " +
"OTHER1 = '" + dst.Tables[0].Rows[i][8].ToString() + "' " +
"DELIVER = '" + dst.Tables[0].Rows[i][9].ToString() + "' " +
"CHECK_ON = '" + dst.Tables[0].Rows[i][10].ToString() + "' " +
"MALINS = '" + dst.Tables[0].Rows[i][11].ToString() + "' " +
"OLDAGE = '" + dst.Tables[0].Rows[i][12].ToString() + "' " +
"OTHER2 = '" + dst.Tables[0].Rows[i][13].ToString() + "' " +
"DETAIN = '" + dst.Tables[0].Rows[i][14].ToString() + "' " +
"SAL = '" + dst.Tables[0].Rows[i][15].ToString() + "' " +
"AREA = '" + dst.Tables[0].Rows[i][16].ToString() + "' " +
"BRANCH = '" + dst.Tables[0].Rows[i][17].ToString() + "' " +
"JOB = '" + dst.Tables[0].Rows[i][18].ToString() + "' " +
"WHERE NUM = '" + dst.Tables[0].Rows[i][0].ToString() + "'";
//universalDAL.ExecuteNonQuery(strSqlTmp);

updateNumb++;
compareEqualIndex = -1;
}
else
{
strSqlTmp = "INSERT INTO PAY(num,name,sex,daynum,wages,subsidy,comm,JBF,OTHER1,DELIVER,CHECK_ON,MALINS,OLDAGE,OTHER2,DETAIN,SAL,AREA,BRANCH,JOB)" +
"VALUES('" + dst.Tables[0].Rows[i][0].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][1].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][2].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][3].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][4].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][5].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][6].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][7].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][8].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][9].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][10].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][11].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][12].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][13].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][14].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][15].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][16].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][17].ToString() + "'," +
"'" + dst.Tables[0].Rows[i][18].ToString() + "')";
int intinset=DbHelperOra.ExecuteSql(strSqlTmp);
insertNumb++;
}
}
MessageBox.Show("成功更新" + updateNumb + "条记录,插入" + insertNumb + "条记录!", "提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
DataShow(" 1=1");
}
else
{
MessageBox.Show("Excel文件列的格式不符合数据字典信息列的格式", "提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}
}

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
孤胆枪手怎么设置局域网啊、 我家小狗刚领来,没有名字,拜托大家起个名字。 护肤品代加工 水浒Q传跨服PK是怎么回事啊 新水浒Q传什么叫PK保护状态,上号不到一分钟就被打,求解 水浒Q传 为什么要pk有什么好处? 为什么贷款每次都审核失败 有谁能说一下手机贷审核不通过的原因吗?我都审核好多次了都不能通过... 贷款审核失败是什么原因 为什么贷款未通过审核 小米开发者选项在哪里 找兼职,要手持身份证,和身份证正反面照片,说可以加水印,安全码? 谁有招聘淘宝图片处理 .数码后期制作的信息 ?兼职哦 绝 PS女一枚 求兼职图片处理、去水印。有过去水印的经历,做图认真,速度... M 求兼职图片处理、换背景、抠图、去水印,做图十分专业,速度也快,现找兼职一份。QQ:1504753928 孽 PS女一枚 求兼职图片处理、去水印。有过去水印的经历,做图认真,速度... D PS求兼职图片处理、去水印。有过去水印的经历,做图认真,速度也快,现找兼职一份。 Q:280493079 兼职p图去水印违法吗? 想做兼职去水印的,不知道一张多少钱合适,有 美工兼职一般多钱,抠图去水印这种兼职! 什么是隔离网关转加密组出现异常 快寒假了想兼职去除水印,修人像美照赚点生活费,如有需求的,可以联系我呵,QQ:2046944880? 有做过淘宝美工的吗,本人自学PS两个月,想找个专门去水印的兼职,不 接口机、隔离网关和服务器有什么用? 我公司使用北京力控华康的工业安全隔离网关,这个断线缓存能存多长时间的数据? PSCADA SCADA 区别 安全隔离网闸中静态路由的目的地IP,子网掩码,默认网关如何填写?求大神!!! 桑葚_为什么那么黑呢 什么播放器能看韩国女主播 韩国百想艺术大赏直播 第四十七届韩国百想艺术大赏现场视频 第47届韩国百想艺术大赏 汤唯在线观看 我正在画画,用英语怎么说 正在画画用英语怎么说 我在画漫画用英语怎么说啊? 我也画画用英语怎么说 星期二我在画画用英语怎么说? 我在周末里画画的英语句子 我在星期六画画用英语怎样写? “我的爱好是画画”用英文怎么说? 我最近在学习画画 用英语怎么说 不要翻译器翻译的 要正确啊 我喜欢在空闲时间画画用英语怎么说用Enjoy doing sth? WPS安卓6.2版本,字体如何添加?设置新字体? 右的部首是什么 刚在一个做保险的朋友哪儿买的平安福 买完之后发现很多负面消息 发现普遍说平安福(福上福) 车管所给的只能紧不能放松车牌螺丝怎么拆? 汽车车牌上的两颗防盗螺钉怎么拆?换新保险杠的时候好麻烦,,我是新手谢 ... 证券公司的会计主要做什么工作 证券公司日常业务的会计处理都有哪些?它的主营业务收入是什么? 求证券公司的财务会计工作经验…… 要去一个金融投资公司应聘,朋友推荐说有实习经验,求哪位*帮帮忙… 证券公司的 财会及文字秘书 的工作是什么??? 请问是从事会计好呢还是在证券公司上班好呢?