c#读写excel(Office 2007),程序自动在指定绝对路径上加上了运行时路径,然后异常说找不到文件。怎么办?

我写了一段代码是这样的,想要打开excel但是却在倒数第八行adapter.Fill(ds)处报异常。异常是说:'C:\Users\v-cason\Documents\V... 我写了一段代码是这样的,想要打开excel但是却在倒数第八行adapter.Fill(ds)处报异常。

异常是说:'C:\Users\v-cason\Documents\Visual Studio 2010\Projects\DemoForRenameToolConsole\DemoForRenameToolConsole\bin\Debug\C\Users\v-cason\scwdemo\demo2.xlsx' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.

就是说他找不到路径。

我输入的路径是:C:\\Users\v-cason\scwdemo\demo2.xlsx

在此步之前以及之后这个值都保持为这个见第四行excelConnection

然而,这异常中却显示,找不到的路径,是系统的运行路径加上了我的输入路径。

我直接去bin文件夹中运行exe程序也仍然解决不了问题。

你能帮我看看吗?

Console.WriteLine(info);
string sheetName = "C\\Users\\v-cason\\scwdemo\\demo2.xlsx";
string excelConString = "";
OleDbConnection excelConnnection;

DataTable dt = null;
string sql = string.Format("select * from [{0}$] ", sheetName);
try
{
excelConString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0; Persist Security Info=False; Data Source={0}; Extended Properties=Excel 12.0", sheetName);
excelConnnection = new OleDbConnection(excelConString);
DataSet ds = new DataSet();
OleDbDataAdapter adapter = new OleDbDataAdapter(sql, excelConnnection);
adapter.Fill(ds);
dt = ds.Tables[0];
Console.WriteLine("Succeeded in dealing the excel sheet");
}
catch (Exception ex)
{
Console.WriteLine("Exception Occured!"+Environment.NewLine+ex.Message);

}
你们是对的,确实是少了个冒号!谢谢。但是他还是不能执行成功。说找不到我的表名这怎么办呢?看来我的sql中表名错了,能请教一下怎么改才对吗?
展开
 我来答
仰星睿2D
2011-12-12 · TA获得超过129个赞
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:175万
展开全部
string sheetName = "C\\Users\\v-cason\\scwdemo\\demo2.xlsx";
改为
string sheetName = "C:\\Users\\v-cason\\scwdemo\\demo2.xlsx";
C 后面少个冒号

string sql = string.Format("select * from [{0}$] ", sheetName);
sheetName 是你Excel 文件里的 Sheet Name呀 不含有路径的
追问
确实是少了个冒号!谢谢。但是他还是不能执行成功。说找不到我的表名这怎么办呢?
追答
你吧 Sheet 改为 你Excel 表里面的一个Sheet 的名字就OK了 
From 是表名
并非是文件的路径
string sheetName = "sheet1";

string sql = string.Format("select * from [{0}$] ", sheetName);
HIZFQyA
2011-12-12 · TA获得超过481个赞
知道小有建树答主
回答量:236
采纳率:0%
帮助的人:221万
展开全部
路径中C盘的后面少了冒号。
更多追问追答
追问
问题不是这个。我原来的路径是完全正确的。但是报异常的时候,它莫名其妙在我的路径前加上了程序运行时路径,并且把C作为一个子文件夹加在后面。
追答
建议你将EXCEL文件拷贝到C根目录下,然后修改路径试试!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ztq613
2011-12-12 · 超过18用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:64.5万
展开全部
路径错了!
追问
那条路径错了?请问怎么改?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式