C#将EXCEL中的内容导入到数据库的时的一些问题。

woainilei 2012-10-12 10:51:26
我用的OleDbConnection方法。把EXCEL2003的表导入到数据库中。在OPEN的时候总是报错:“外部表不是预期格式”,可是打开EXCEL2003这个表后,再运行这个导入方法就没问题了,这是为什么呢?

我用这个方法换上EXCEL2007的连接串后,2007的可以正常导入。

求解,或是有没有别的什么好办去读EXCEL

EXCEL的对象模型怎么用。
...全文
139 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
woainilei 2012-10-12
  • 打赏
  • 举报
回复
我写的上楼上用的是一样的。打不开,我的EXCEL是从一个RCM系统中导出的。
huyantong 2012-10-12
  • 打赏
  • 举报
回复
string strConn = "";
switch (type)
{
case ".XLS":
strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";
break;
case ".XLSX":
strConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + file + ";Extended Properties='Excel 12.0;HDR=NO;IMEX=1'";
break;
}
OleDbConnection objConn = new OleDbConnection(strConn);
DataSet dsExcel = new DataSet();
objConn.Open();
System.Data.DataTable dtOle = objConn.GetSchema("Tables");
DataTableReader dtReader = new DataTableReader(dtOle);
string xlsName = "";
if (dtReader.Read())
孟子E章 2012-10-12
  • 打赏
  • 举报
回复
如果是Excel软件生成的是应该可以读取,
生成xls文件的方法有很多,有的纯粹是txt格式的,就不能读取的
woainilei 2012-10-12
  • 打赏
  • 举报
回复
应该是和连接串没有关系,还有没有别的办法去读取EXCEL的表呢?因为这个2003的EXCEL表好像就是读不出来。

不知道为什么只有打开了这个2003的EXCEL文件才可以。
孟子E章 2012-10-12
  • 打赏
  • 举报
回复
EXCEL2007的连接串也可以导EXCEL2003的
andy_wanhl 2012-10-12
  • 打赏
  • 举报
回复
NPOI
用Excel類,老是有不預期的錯誤出現,
我準備把原先的代碼全部喀嚓掉,用NPOI
注意一個版本的問題,會相對於.net frammework
cdefg198 2012-10-12
  • 打赏
  • 举报
回复
推荐使用NPOI
http://blog.csdn.net/cdefg198/article/details/7844305
zj_zwl 2012-10-12
  • 打赏
  • 举报
回复
不是真正的Excel文件,一般都是文本文件,你把后缀改成TXT用记事本打开看下
woainilei 2012-10-12
  • 打赏
  • 举报
回复
那要不是真正的Excel文件有没有什么好办法去读取里面的数据呢?
孟子E章 2012-10-12
  • 打赏
  • 举报
回复
,我的EXCEL是从一个RCM系统中导出的。

这种导出的一般是不是真正的xls文件格式的。

这要看导出的方法是不是Excel.Application导出的,如果不是,就不是真正的excel文件
woainilei 2012-10-12
  • 打赏
  • 举报
回复
除了用 OleDbConnection 和com组件去读Excel以外还有没有别的方法。。求解。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧