您的位置:首页 > 编程语言 > C#

C#导入数据到Excel中遇到的问题,已解决

2010-09-01 14:19 357 查看
我觉得今天必须得写一下博客,让大家分享一下我的感受,不知道你们有没有碰到和我相似的问题...

很简单的一个问题"用C#实现从sql中读取数据,然后导入到excel中",我原来就已经实现了这个功能,只不过原来是导入的只有一个字段,今天又重做这个工作,只是增加到了10个字段而已,然后重新改一下原来的程序,结果是屡屡报错,提示“标准表达式中数据类型不匹配。”,后来网上找了一下,有人也碰到过类似的问题,说是引号的问题,把他改为参数的形式就行了,但我按他们说的,试了好几种方法改了也没一点用,我真没法子了,一个下午很快也就过去了,下班了,我还是吃个饭再说吧。晚上回来,又开始运行我的那个程序,突然觉得是不是Excel里面的数据类型有问题,我把里面的字段改为文本类型,奇迹在此刻出现了,消息提示数据成功导入,哈哈...终于松了口气。

后来在继续测试,发现只需要第一次改字段类型,后来再随意改为其他类型都没问题,即使改为默认的常规类型也没问题,虽然问题已经解决了,但这很让我不解。。。

private int AddCatNo(string CatNo)
{
string Excelsource = txtResultAddr.Text;//Excel的路径:F:/abc.xls
//string excelconnstring = string.Format(
//        @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1};IMEX=1'",
//        Excelsource, "Yes");
//建立指向该Excel文件的数据库连接
string excelconnstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Excelsource + ";Extended Properties='Excel 8.0;'";
OleDbConnection excelconn = new OleDbConnection(excelconnstring);
string sql = "insert into [sheet1$]([CatalogNo]) values('"+CatNo+"')";
OleDbCommand cmd = new OleDbCommand(sql, excelconn);
try
{
excelconn.Open();
return cmd.ExecuteNonQuery();
}
catch(Exception ex)
{
ShowInfo("添加失败:CatalogNo:" + CatNo);
return 0;
}
finally
{
excelconn.Close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: