System.Data.OleDb.OleDbException: 找不到可安装的 ISAM

ambitionzfx 2009-10-25 08:41:45
小弟想把从sql server 取出的数据集写到应经存在的excel文档中
public static bool SQLToExcel(string filepath, DataSet datasorce)
{

string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Excels\\ScoreInfo.xls;Extended Properties=\"Excel 11.0;HDR=Yes;IMEX=1\"";
OleDbConnection conOleDb = new OleDbConnection(strCon);


//try
// {
conOleDb.Open(); //这儿老出System.Data.OleDb.OleDbException: 找不到可安装的 ISAM的错误

if (datasorce.Tables[0].Rows.Count == 0)
return false;
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();

excel.Application.Workbooks.Add(true);



//生成字段名称

for (int i = 0; i < datasorce.Tables[0].Columns.Count; i++)
{

excel.Cells[1, i + 1] = datasorce.Tables[0].Columns[i].ColumnName;

}

//填充数据

for (int i = 0; i < datasorce.Tables[0].Rows.Count - 1; i++)
{

for (int j = 0; j < datasorce.Tables[0].Columns.Count; j++)
{

excel.Cells[i + 2, j + 1] = datasorce.Tables[0].Rows[i][j].ToString();

}

}
conOleDb.Close();
excel.Visible = true;
return true;

// }

//catch (Exception ex)
// {



// return false;

// }



各位高手看看,这个到底错哪啦 ,我上网搜了一些资料,说是连接字符串的问题,可是,感觉连觉字符串没有什么错误呀,
先谢过!
...全文
1012 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ambitionzfx 2009-10-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sohighthesky 的回复:]
晕了,lz的字符串我改成自己的路径都可以用
[/Quote]

我这边真用不了,我还专门添加了对 excel 11的引用呀,excel 2003 对应的就是这个版本吧,就是用不了呀。

能帮推荐本 .net 操作office 的相关的书么?很想多学点这方面的知识

sohighthesky 2009-10-25
  • 打赏
  • 举报
回复
晕了,lz的字符串我改成自己的路径都可以用
ambitionzfx 2009-10-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
string strCon = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=D:\\Excels\\ScoreInfo.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'"; 
[/Quote]
改成这样就成了,非常感谢!
不过有个疑问,我明明是添加了 excel 11的为什么会出现这种情况呢?
wuyq11 2009-10-25
  • 打赏
  • 举报
回复
string strCon = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=D:\\Excels\\ScoreInfo.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
yyhlove 2009-10-25
  • 打赏
  • 举报
回复
数据库不一样 链接字符串也不一样 connectionstring后面的语句出错。检查语法之后而修改即可解决问题。
sohighthesky 2009-10-25
  • 打赏
  • 举报
回复
以前遇到这个问题,确实是连接字符串问题
先写成这样试试

string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Excels\\ScoreInfo.xls"
wuyq11 2009-10-25
  • 打赏
  • 举报
回复
ConnString = "Provider=Microsoft.Jet.Oledb.4.0; Data Source=" + filepath + "; Extended Properties=\"Excel 8.0; HDR=No; IMEX=1;\"";

string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Excels\\ScoreInfo.xls;Extended Properties=\"Excel 11.0;HDR=Yes;IMEX=1;\"";

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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