엑셀 스프레드 시트에서 비즈니스 로직에 액세스하려고 C# (Visual Studio 2008)을 사용하고 있습니다. 다른 C# 프로젝트에서 엑셀 리소스에 액세스하기
내가 다음 클래스는 ..을 (I이 잘못을하고있는 중이 야 경우 비판 주시기 바랍니다 - 나는 일반적으로 자바 개발자입니다 - 이것은 내 첫 번째 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'개체를 찾을 수 없습니다 개체가 존재하고 이름과 경로 이름의 철자가 올바른지 확인하십시오 .. "
내 문제는 다른 프로젝트의 리소스에 액세스하는 클래스를 호출합니다.
도움말!