2012-11-07 3 views
3

클라이언트 정보가 포함 된 스프레드 시트가 있습니다. 콤보 상자 (comboBox1)를 A 열의 고유 한 값으로 채우고 싶습니다. 두 번째 콤보 상자 (comboBox2)를 사용하여 존재하는 B 열의 값을 나열하는 것이 좋을 것입니다. 어디에 comboBox1 = A 열이 있는지 알고 싶습니다.Excel에서 ComboBox 및 Textfield 채우기

enter image description here

이것은 다음과 같은 스프레드 시트에서 파생 된 것입니다 : 내가 원하는 결과의 빠른 화면을 조롱 한

.... 등등 열의 C, D, E와 함께 텍스트 필드를 채 웁니다 :

enter image description here

스프레드 시트의 데이터가 때때로 변경되기 때문에 정보를 하드 코딩 할 수 없습니다.

어디서부터 시작해야할지 모르겠습니다. 2D 배열에 데이터를로드합니까 아니면 더 나은 방법이 있습니까?

답변

2

몇 가지 옵션이 있습니다.

OOXML의 SDK

엑셀 파일이 최대 2007 형식 (XLSX) 또는 인 경우

는, 당신은 마이크로 소프트에서 제공하는 OOXml SDK를 통해 프로그래밍 방식으로 함께 작업 할 수 있습니다. 방법 위해 스프레드 시트의 다른 들어

How to: Retrieve the Values of Cells in a Spreadsheet Document

:

다음과 같은 방법으로 한 번 봐 가지고

http://msdn.microsoft.com/en-us/library/office/cc850837.aspx

상호 운용성을

당신은 자동화 할 수 있습니다 프로그래밍 방식으로 탁월한 기능을 제공합니다. 이를 위해서는 프로그램을 실행중인 컴퓨터에 Excel이 설치되어 있어야합니다. 또한 Microsoft는 서버 환경에서이 기능이 지원되지 않는다는 점을주의해야합니다.

C#을 통해 Excel interop에 관한 많은 질문이 있습니다.

https://stackoverflow.com/search?q=C%23+and+Excel+interop

엑셀 드라이버

MS 엑셀 ODBCOLEDB 드라이버를 제공합니다.

+0

유용 할 것 같습니다. Office 2007과 PC에서 Excel을 사용하는 것은 문제가되지 않습니다. 필드의 데이터를 채우는 방법에 좀 더 신경을 써야합니다. 값의 특정 로딩 대신에. 스프레드 시트 전체를 2D 배열로로드해야합니까? 아니면 각 행에 대한 정보 객체를 만들어야합니까? 아니면 더 좋은 방법이 있습니까? – Joseph

+0

그건 디자인 문제입니다. 단순한 어레이가 작동하거나 나열됩니다. 그것은 데이터를 얻는 것보다 간단합니다 :). –

관련 문제