ASP.NET, ADO.NET 및 Visual C# .NET을 사용하여 Excel 데이터를 쿼리하고 표시하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 306572 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 ID로 출판되었음: KR306572
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 Visual C# .NET을 사용하여 ASP.NET(.aspx) 페이지를 통해 Excel 워크시트의 데이터를 표시하는 방법을 보여 줍니다.


예제 Excel 워크시트 만들기

  1. Microsoft Excel을 시작한 다음 새 워크시트를 만듭니다.
  2. 다음 정보를 새 워크시트에 추가하여 간단한 Excel 데이터베이스를 만듭니다.
    표 축소표 확대
    A B
    1FirstNameLastName
    2ScottBishop
    3KatieJordan
    참고: 이 예에서는 데이터가 A1 셀에서 시작하지만 데이터를 입력하는 위치는 워크시트 내의 어느 셀이든 상관없습니다.
  3. 데이터가 있는 행과 열을 강조 표시합니다.
  4. 삽입 메뉴에서 이름을 가리킨 다음 정의를 누릅니다.
  5. 통합 문서에 있는 이름 텍스트 상자에 myRange1을 입력한 다음 확인을 누릅니다.
  6. 파일 메뉴에서 저장을 누릅니다. 저장 위치 목록에서 웹 서버 루트(일반적으로 C:\InetPub\Wwwroot\)를 선택합니다. 파일 이름 텍스트 상자에 ExcelData.xls를 입력합니다. 확인을 누릅니다.
  7. 파일 메뉴에서 끝내기를 누릅니다.

Visual C# .NET을 사용하여 ASP.NET 예제 만들기

이 코드 예제는 Excel 워크시트에 정보를 쿼리하고 표시하는 방법을 보여 줍니다. 다음 코드는 앞 절에서 만든 워크시트를 사용합니다.
  1. Microsoft Visual Studio .NET을 엽니다. Visual Studio .NET IDE(통합 개발 환경)가 표시됩니다.
  2. 파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트를 누릅니다.
  3. 새 프로젝트 대화 상자의 프로젝트 형식에서 Visual C# 프로젝트를 누르고 템플릿에서 ASP.NET 웹 응용 프로그램을 누릅니다.
  4. 새 프로젝트 대화 상자에서 이름위치 텍스트 상자를 찾습니다. 이름 텍스트 상자는 사용할 수 없습니다(회색 또는 희미하게 나타남). 위치 텍스트 상자에는 다음과 비슷한 텍스트가 표시됩니다.
    http://localhost/WebApplication1
    위치 텍스트 상자에 있는 텍스트를 http://localhost/ExcelCSTest로 바꾼 다음 확인을 누릅니다. WebForm1.aspx라는 이름의 Web Form이 포함된 새 프로젝트가 만들어집니다.
  5. Visual Studio .NET IDE에서 솔루션 탐색기 창을 찾습니다. 창이 없으면 보기 메뉴에서 솔루션 탐색기를 누릅니다.
  6. 솔루션 탐색기에서 WebForm1.aspx를 마우스 오른쪽 단추로 누른 다음 디자이너 보기를 눌러 페이지의 모양을 편집할 수 있는 디자이너를 표시합니다. 디자이너를 사용하면 컨트롤을 추가하고 페이지 모양을 조작할 수 있습니다.
  7. 도구 상자를 찾습니다. IDE 옵션 설정에 따라 도구 상자는 주로 IDE 왼쪽에 창이나 단추로 나타날 수 있습니다. 도구 상자가 없으면 보기 메뉴에서 도구 상자를 누릅니다.

    도구 상자가 단추로 나타나면 도구 상자의 내용이 표시되도록 포인터를 도구 상자 단추 위로 이동합니다.
  8. Web Form의 디자이너 보기가 활성화되면 도구 상자는 Web Forms, 구성 요소, HTML 및 기타 구역 등 여러 구역으로 나뉩니다. Web Forms 구역을 누릅니다.
  9. 도구 상자의 Web Forms 구역에서 DataGrid를 누른 다음 WebForm1 디자이너로 끌어 옵니다.
  10. WebForm1.aspx를 마우스 오른쪽 단추로 누른 다음 코드 보기를 눌러 코드 숨김 페이지 원본을 표시합니다.
  11. 다음 문을 네임스페이스 구역 바로 위인 코드 숨김 페이지 맨 위에 추가합니다.
    using System.Data.OleDb;
    using System.Data;
    					
  12. 다음 코드를 선택하여 강조 표시하고 마우스 오른쪽 단추로 누른 다음 복사를 누릅니다. WebForm1.aspx.cs에서 코드를 Page_Load 이벤트에 붙여넣습니다.
    // Create connection string variable. Modify the "Data Source"
    // parameter as appropriate for your environment.
    String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
    	"Data Source=" + Server.MapPath("../ExcelData.xls") + ";" +
    	"Extended Properties=Excel 8.0;";
    
    // Create connection object by using the preceding connection string.
    OleDbConnection objConn = new OleDbConnection(sConnectionString);
    
    // Open connection with the database.
    objConn.Open();
    
    // The code to follow uses a SQL SELECT command to display the data from the worksheet.
    
    // Create new OleDbCommand to return data from worksheet.
    OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM myRange1", objConn);
    
    // Create new OleDbDataAdapter that is used to build a DataSet
    // based on the preceding SQL SELECT statement.
    OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
    
    // Pass the Select command to the adapter.
    objAdapter1.SelectCommand = objCmdSelect;
    
    // Create new DataSet to hold information from the worksheet.
    DataSet objDataset1 = new DataSet();
    
    // Fill the DataSet with the information from the worksheet.
    objAdapter1.Fill(objDataset1, "XLData");
    
    // Bind data to DataGrid control.
    DataGrid1.DataSource = objDataset1.Tables[0].DefaultView;
    DataGrid1.DataBind();
    
    // Clean up objects.
    objConn.Close();
    					
  13. 파일 메뉴에서 모두 저장을 눌러 프로젝트 파일을 저장합니다.
  14. 빌드 메뉴에서 빌드를 눌러 프로젝트를 빌드합니다. 그러면 코드가 실행될 수 있도록 코드 숨김 페이지에 코드가 준비됩니다.
  15. 솔루션 탐색기에서 WebForm1.aspx를 마우스 오른쪽 단추로 누른 다음 브라우저에서 보기를 눌러 코드를 실행합니다.

추가 코드 설명

이 문서의 코드 예제에서는 Microsoft Jet OLE DB Provider를 사용하여 Excel 워크시트에 액세스합니다. 이 코드는 다음 연결 문자열을 사용하여 워크시트에 연결합니다.
// Create connection string variable. Modify the "Data Source"
// parameter as appropriate for your environment.
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
	"Data Source=" + Server.MapPath("../ExcelData.xls") + ";" +
	"Extended Properties=Excel 8.0;";
				
주석이 나타내는 것처럼 특정 Excel 워크시트에 대한 경로 정보를 수정해야 합니다. 또한 Extended Properties 매개 변수의 값을 파일에 적절히 연결하도록 적절히 설정해야 합니다.

연결 문자열은 Server.MapPath 함수를 사용합니다. 이 함수는 파일에 대해 Microsoft Internet Information Services(IIS)에 관련된 경로를 사용하여 해당 파일의 하드 디스크 경로를 반환합니다. 예를 들어, 예제 Excel 워크시트 만들기 절에서 일반적으로 C:\Inetpub\Wwwroot에 있는 웹 루트 디렉터리에 ExcelData.xls를 만듭니다. 또한 이 함수는 Wwwroot 폴더 내에 ExcelCSTest라는 이름의 하위 폴더를 만들고 ExcelCSTest 폴더 내에 WebForm1.aspx라는 이름의 파일을 만듭니다.

이 예에서 하드 디스크에 있는 파일 경로는 다음과 같습니다.
     C 드라이브
        - Inetpub
            - Wwwroot(ExcelData.xls 포함)
                - ExcelCSTest(WebForm1.aspx 포함)
				
파일에 대한 IIS 경로는 다음과 같습니다.
     Web Root(ExcelData.xls 포함)
        - ExcelCSTest(WebForm1.aspx 포함)
				
이 경우 WebForm1.aspx 페이지에서 ExcelData.xls 파일로의 상대 경로는 "../ExcelData.xls"입니다. "../" 문자는 IIS에게 한 폴더 수준 위로 이동하도록 알려 줍니다. 따라서 아래의 코드는
Server.MapPath("../ExcelData.xls")
				
다음 문자열을 반환합니다.
C:\Inetpub\Wwwroot\ExcelData.xls
Server.MapPath를 사용할 필요 없이 특정 경로에 이 정보를 입력하거나 다른 방법을 사용하여 하드 디스크에 있는 Excel 파일의 위치를 제공할 수도 있습니다.

참조

ASP.NET에서 Excel 파일에 액세스하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
307029 HOWTO: Visual C# .NET을 사용하여 Microsoft Excel 2002에 XML 데이터 전송
306023 HOWTO: Visual C# .NET을 사용하여 Excel 통합 문서에 데이터 전송
ADO.NET 사용에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
306636 HOWTO: ADO.NET과 Visual C# .NET을 사용하여 데이터베이스 연결 및 명령 실행
314145 HOWTO: Visual C# .NET을 사용하여 데이터베이스에서 DataSet 개체 채우기
307587 HOWTO: Visual C# .NET을 사용하여 DataSet 개체에서 데이터베이스 업데이트
참고: 용례에 사용된 회사, 기관, 제품, 도메인 이름, 전자 메일 주소, 로고, 사람, 장소 및 이벤트 등은 실제 데이터가 아닙니다. 어떠한 실제 회사, 기관, 제품, 도메인 이름, 전자 메일 주소, 로고, 사람, 장소 또는 이벤트와도 연관시킬 의도가 없으며 그렇게 유추해서도 안됩니다.





Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 306572 - 마지막 검토: 2005년 6월 10일 금요일 - 수정: 4.5
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft ADO.NET 1.1
  • Microsoft ADO.NET (included with the .NET Framework)
키워드:?
kbdatabase kbhowtomaster kbwebforms KB306572

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com