2012-05-18 2 views
0

읽기 전용 정보를 저장하는 Excel 스프레드 시트를 사용하는 참조 프로그램을 만들려고합니다. 사용자가 옵션 목록에서 주제를 선택하고 해당 셀의 정보를 다시 피드로 가져올 수 있기를 바랍니다. 이 프로그램은 C++로 작성됩니다. 내 질문은 내 프로그램에서 스프레드 시트의 특정 셀에 어떻게 액세스합니까? 나는 그것을 조금 연구했고 CSV로 파일을 저장하고 fscanf를 사용하여 내용을 읽으려고한다는 것을 알았지 만, 나는이 부분을 어떻게 처리 할 것인가에 대해 망설였다. 나는 그것을 봤이 스레드 발견C++에서 CSV 파일의 특정 요소 읽기

http://www.daniweb.com/software-development/cpp/threads/204808/parsing-a-csv-file-separated-by-semicolons

을하지만, 나는 그것이 CSV에서 모든 데이터의 읽고 생각? 내가 어쨌든 말할 수있는 것에서. 그리고 저는 특정 요소를 끌어 내기만을 원합니다. 그게 가능하니?

+0

원하는 요소에 액세스 할 수 있고 나머지는 무시할 수 있도록 전체 파일을 읽어야합니다. – Attila

답변

1

특정 요소 만 필요로하는 경우 해당 요소에 도달 할 때까지 파일의 모든 내용을 구문 분석해야합니다. 필요없는 값을 저장할 필요는 없지만 파일에서 미리 값을 분석하려면 파싱해야합니다.

+0

그래서 배열을 만들고 검색 할 파일 요소를 배열에 공급합니까? – Monique

0

Excel에서 프로그램을 호출 하시겠습니까? 당신이 있다면, 약간의 VBA가 먼 길을 간다. C++ 프로그램이 읽을 수 있도록 준비된 관심있는 셀만 내보낼 수 있습니다.

그렇지 않으면 다른 대답이 정확합니다. 그러나 전체 파일을 한 번에 메모리에로드 할 필요는 없습니다. std :: fstream을 사용하여 파일을 열고 각 행에 필요한 정보를 파싱하여 파일의 각 행을 읽을 수 있습니다.

+0

아니요, 프로그램에서 사용자로부터 토픽을 요청한 다음 Excel 프로그램에 액세스해야합니다.이 참조 데이터베이스 아이디어는 C++ 클래스에서 수행중인 최종 프로그램에 대한 가능한 주제이므로 작성해야합니다. 완전히 C++ 프로그램. 당신이 말한 것의 두 번째 부분은 내 최선의 선택처럼 보입니다. 조언 주셔서 감사합니다 :) – Monique

+0

@ Monique 문제 없습니다. 머리 위로, Boost Tokenizer를 사용하여 문자열을 쉼표로 구분 된 문자열 모음으로 분할하십시오. [Boost Tokenizer] (http://tinyurl.com/ct3dmy6) – Steztric