c# - 在 OleDbConnection 中打开时出现异常
问题描述
当我尝试使用以下代码将 excel 打开到我的 Windows 服务之一时,它会在 objConn.Open() 上抛出“值不能为空。参数名称:源”;谁能帮帮我吗。
OleDbConnection objConn = null;
System.Data.DataTable dt = null;
LogManager LogWrite = new LogManager();
try
{
string conn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Repository\RuleExcel\Rules_Repository_2018-06-28_03-41-29-133.xlsx;Extended Properties='Excel 12.0;HDR=YES;';";
LogWrite.WriteLog(conn);
// Create connection object by using the preceding connection string.
objConn = new OleDbConnection(conn);
LogWrite.WriteLog(objConn.DataSource);
// Open connection with the database.
objConn.Open();
解决方案
试试下面的代码,它对我有用:
using (OleDbConnection objConn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileName + @";Extended Properties=""Excel 12.0;IMEX=1;HDR=YES;"""))
{
objConn.Open();
}
推荐阅读
- python - 有没有办法在 python 中进行三向绘图?绘制 3 个相互依赖的参数
- excel - 数据透视表:不同的计数
- reactjs - 在浏览器中显示我的反应应用程序时出错
- javascript - 如何在单击来自电子邮件中继(获取并提交)链接中的代码的链接时导航到特定屏幕?
- java - 当变量被赋予某个值时,Java从函数返回
- python - 如何正确使用 python 多处理?
- javascript - 递归查找和更新对象数组中的对象
- python - TensorFlow 多 GPU 手动分发问题
- r - phantomjs + Selenium 重置代理
- c++ - 无法从 arduino 库中调用函数