2012-01-30 3 views
1

내 WinForms 응용 프로그램의 DataGridView에서 데이터를 내보내 Excel 파일로 가져와야합니다. 내가 주제에 대한 몇 가지 자습서를 봤어,하지만 난 힘든 시간을 일할 수있는 가능한 솔루션을 받고있다.C#의 Excel 파일로 DataGridView 데이터 내보내기

나는 this tutorial으로 시작했습니다. 내가 파일을 엑셀 수출 DataGridView를하려고 할 때하지만 난에 처리되지 않은 COMException을 얻을 : 나는 또한 this tutorial을 시도했습니다

Microsoft.Office.Interop.Excel.ApplicationClass ExcelApp = new 
Microsoft.Office.Interop.Excel.ApplicationClass(); 

,하지만 같은 결과.

발견하고 읽은 또 다른 기사는 this one입니다. 코드가 작동하지 않습니다. COM tabAdd Reference 대화 상자에 Microsoft Excel 12.0 object library이 없기 때문일 수 있습니다.

Visual Studio 2010 Ultimate을 사용하고 있습니다. 이러한 라이브러리가 설치되지 않은 경우

+0

이 처리되지 않은 COMException이 발생합니까 다른 외부 의존성없이 데이터를 내보낼 수 있습니다? 나중에있을 경우 모든 코드를 추가 할 수 있습니까? – eouw0o83hf

+0

ApplicationClass를 인스턴스화하려고 할 때 발생한다고 생각합니다. 내가 사용하고있는 코드는 [here] (http://www.gridview.net/export-datagridview-to-excel-in-c/)에서 구할 수 있습니다. – beam022

+0

엑셀 파일이어야하나요? .csv는 괜찮습니까? –

답변

2

, 당신은 마이크로 소프트에서 다운로드 할 수 있습니다 : 특정 Office 버전의

참조 여기 :

Office 2003 Update: Redistributable Primary Interop Assemblies

2007 Microsoft Office System Update: Redistributable Primary Interop Assemblies

Microsoft Office 2010: Primary Interop Assemblies Redistributable

번 올바른 것을 설치하면 libr을 찾을 수 있습니다.

+0

답변에서 링크를 살펴 봤습니다. 그러나 Microsoft Office를 설치하지 않은 경우에는이 파일들을 사용할 수 없습니다. 어쩌면 이것은 어리석은 질문 일 수도 있지만, 나는 이것을 알지 못했습니다. 꼭 필요한가요? 그리고 [이 튜토리얼] (http://www.gridview.net/export-datagridview-to-excelin)에 따라 .NET 구성 요소에서 내 프로젝트에 대한 Microsoft.Office.Interop에 대한 참조를 _ 추가 할 수있었습니다. -c /), 그래서 나는 아직도이 솔루션의 문제점을 모른다. – beam022

+3

@ beam022 - 맞습니다. 제대로 작동하려면 Excel을 설치해야합니다. – SwDevMan81

+0

Office를 설치하면 문제가 해결되었습니다. – beam022

1

어느 날 내가 당신이 필요로 한 일 자습서의 '참조를 추가'섹션에서 워하지만 난

그래서 당신은 단지 클래스 라이브러리 프로젝트를 생성해야하고 그 클래스 사용 VB.Net

에있어 내 방법 그래서 당신은 C#을 통해 그것을 참조 할 수 있습니다.

이 링크 (영어로 번역)에 대해 살펴 보자 http://foro.elhacker.net/net/aporte_exportar_datagridview_a_excel_pdf_y_html-t299075.0.html

을 또한 여기에서 내 예제를 다운로드 및 방법을 다시 사용할 수 있습니다 http://dl.dropbox.com/u/15208254/stackoverflow/ExportarData.rar

감사합니다.

1

당신은 Excel Package Plus를 사용하여 엑셀에 대한 필요, 또는 당신이 ApplicationClass, 또는 나중에에서 인스턴스화 할 때

관련 문제