2014-04-23 3 views
0

Visual Studio 2012, C#을 사용하여 Windows 양식에 스프레드 시트/통합 문서를 표시하는 데 몇 시간 씩 노력했습니다. 나는 통합 문서에서 데이터를 검색하고 양식에 표시,하지만 난 꽤 많이 읽었WinForms에서 Excel 스프레드 시트 표시, C#

Filtering 같은 물건, Conditional Formatting, Formulas를 포함하여 응용 프로그램에서 엑셀의 기능을 필요로 할 수 있습니다 이해할 수있는 바와 같이 라이센스로 인해 이러한 (Office) 파일을 포함하는 Visual Studio에는 컨트롤이 없습니다. 나는 해결책을 찾았지만, WebControl (나는 이것으로 작업 할 수있을 것이라고 확신한다.) 파일을 보여 주지만, 웹 컨트롤에서 엑셀 파일을로드하려고 시도 할 때, 사용자에게 열리거나 파일을 저장하고 '파일 열기'를 선택하면 Microsoft Excel을 사용하여 파일이 열립니다.

파일의 ContentType (Mime 형식, Excel ContentType)이 브라우저에 설정되어야하기 때문에 이러한 상황이 발생합니다 (이 개념에 대해서는 아직 익숙하지 않으므로 이에 대한 추가 연구가 필요함) .

자원 내가 사용하고 있습니다 :

  • 논리를 엑셀 파일로 내용을 저장하려면 : EPPlus
  • 나는 다음과 같은 프로젝트에서 일하고, 다른 사람의 사이에서 : Winforms Excel Example

후자를 거의 정확하게 달성하고자하지만 파일을 저장하거나 열어 보도록 요청합니다. WebControl

이 문제에 대한 도움을 주시면 감사하겠습니다.

+0

* 라이센스가있어 Visual Studio에서 이러한 (Office) 파일을 포함 할 수있는 컨트롤이 없습니다. "* VSTO에 대해 들어 본 적이 있습니까? –

+0

여기가 도움이 될만한 내용인지 잘 모르겠지만 [** 체크 아웃 **] (http://stackoverflow.com/questions/17406319/display-a-part-of-an-excel-sheet-on- a-userform-using-vba/17407415 # 17407415) Afaik, 전체 Excel 응용 프로그램을 winforms에 포함시킬 수 있습니다. 당신은 타사 라이브러리와 함께 기본적인 기능을 가질 수 있지만 그것은 .. Linux에서 "Wine"을 실행하는 것처럼 작동하지 않습니다 : P 클라이언트가 자신의 컴퓨터에 Excel이 있어야하고 Com Interop (또는 EPPlus , OpenXML, ClosedXML 등) ... VSTO –

+0

도움 주셔서 감사합니다. VSTO, Net Office 및 OWC (Office Web Controls)를 살펴본 결과, Excel에서 컨트롤을 배치 할 수있는 유일한 패키지를 찾을 수있었습니다. 양식에 OWC11이지만 버그가있는 것처럼 보입니다. C#에서 컨트롤을 사용하는 방법을 보여주는 예제는 찾을 수 없습니다. 대부분의 코드는 VB에 있습니다. EPPlus는 뛰어난 기능을 제공하여 Excel을 저장하고 OpenXML을 보았습니다.하지만 DataGrid 만 사용하여 막 다른 골목처럼 보이기 시작했습니다. –

답변

-1

DataGridView를 사용하고 functionnality가없는 경우 프로그래밍하십시오! 또는 Excel COM을 사용하여 Excel의 인스턴스를 만듭니다.

+0

나는 주로 필터 옵션 만 필요하기 때문에 Datagrid를 대안으로 생각하고 있습니다. IT 부서는 모든 기능을 갖추려면 Excel의 인스턴스를 보유하는 것이 이상적이지만 Excel을 사용하기에는 너무 오래 걸립니다 ([VSTO] (http://www.microsoft.com/en-za/download/details) .aspx? id = 23656 "VSTO"), [Net Office] (http://netoffice.codeplex.com/releases/view/70943 "Net Office"), [Office Web Components] (http://www.microsoft.com .com/en-us/download/details.aspx? id = 22276 "Office Web Components")) 실제로 작동하려면 .. –

관련 문제