我正在使用c#(visual studio 2008)来尝试访问excel电子表格中的业务逻辑。在另一个c#项目中访问excel资源
我有下面的类..(随意批评,如果我这样做不对 - 我是Java开发人员一般 - 这是我的第一个C#应用程序。)
public class SpreadSheetClass
{
// apologies for any typo's code written in place, not copied from an IDE...
//
public DataTable DoIt()
{
DataTable result;
String sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MySpreadsheet.xls;Extended Properties=Excel 8.0;";
OleDbConnection connection = new OleDbConnection(sConnection);
try
{
connection.Open();
OleDbCommand oleDbcCommand = new OleDbCommand("SELECT * FROM SELECTION", connection);
OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
dataAdapter.SelectCommand = oleDbcCommand;
result = new DataTable();
dataAdapter.Fill(result);
}
finally
{
connection.Close();
}
return result;
}
}
我加入了电子表格的项目使用添加 - >现有项目 - >然后选择.xls文件。然后,我编辑了文件的属性,说它是一个嵌入式资源,并将其始终复制到输出目录。
我可以从项目中访问电子表格。
不过,我想运行从项目外的大一方法,例如从测试项目中,我得到以下异常:
“测试方法TestProject1.UnitTest1.TestMethod1抛出异常:System.Data。 OleDb.OleDbException:Microsoft Jet数据库引擎无法找到对象'SELECTION'。请确保该对象存在,并且正确拼写其名称和路径名称。“
我确信我的问题是调用一个从另一个项目访问资源的类。
帮助!