2014-07-13 1 views
0

내가 만든 C++ 프로그램을 수정하는 데 도움이되는 LibXL을 다운로드했습니다. Excel 스프레드 시트의 값에 연결하려는 C++ 파일에 전역 변수가 있습니다. 내가 연결할 수있는 Excel 시트를 "시트 1"이라고하고 통합 문서를 "책 1"이라면 누군가가 어떻게하는지 설명해주십시오.Extract Data LibXL C++

: 내 C 나 C의 변수에 특정 엑셀 세포를 연결하려는 ++ 프로그램 ++에서 코드 블록 여기

Book* book = xlCreateBook(); 
if(book) 
{ 
    if(book->load(L"example.xls")) 
    { 
     Sheet* sheet = book->getSheet(0); 
     if(sheet) 
     { 
      const wchar_t* s = sheet->readStr(2, 1); 
      if(s) wcout << s << endl; 

      double d = sheet->readNum(3, 1); 
      cout << d << endl; 
     } 
    } 

    book->release(); 
} 

있다 :이 엑셀 스프레드 시트에서 데이터를 추출하기위한 LibXL 사이트의 코드 샘플입니다

{var1 = .0887; var2 = .175; var3 = .299; var4 = .292; var5 = .151; var6 = .051; var7 = .001; var8 = .02;} 

편집해야하는 코드에는 다양한 변수 이름이 있습니다. 그 변수/값을 위의 이름과 책이있는 Excel 스프레드 시트의 변수와 같거나 같게 설정해야합니다. 이 샘플 코드를 구현하는 방법을 잘 모르겠다. 부분적으로는 위의 샘플을 이해하지 못했다.

+0

게시 된 코드의 일부분을 이해하지 못합니까? –

+0

글쎄, 잘 모르겠다) 어디서이 코드를 넣을 수 있을까? 그리고 파일을 어떻게 돌릴 것인가? b) 예제에서 엑셀 책과 워크 시트의 이름은 정확히 무엇입니까? (즉, 내가 변화시키는 부분과 그것을 var1, var2에 어떻게 연관시킬 것인가). var1, var2 등을 언급하는 것은 모두 내 main() 함수에서 정의됩니다. – user3753931

+0

시트는 예제에서 숫자로 참조됩니다 (0은 첫 번째 것이고 1은 두 번째 것임). 시트의 "이름"을 얻을 수있는 방법이 있다고 생각합니다.하지만 더 복잡합니다. 코드를 게시하지 않았거나 스프레드 시트가 어떤 모습을 나타내지 않았기 때문에 코드와 어떻게 관련이 있는지 말할 수 없습니다. 스프레드 시트의 "이름"을 변수로 변환해야 할 필요가 있습니다. 이는 C++ 자체에서 지원하는 것이 아닙니다. –

답변

0

libXL에서 사용되는 와이드 문자는 sdt::wcout을 사용하십시오. CELLTYPE_NUMBER/CELLTYPE_STRING 을 사용하고 네임 스페이스 libxl!

예 : http://www.libxl.com/read-excel-data.html을 사용하여 간단하게 할 수 있습니다.