C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[51900] Re:Re:[질문]액셀 설치되지 않은 PC에서 액셀변환하기
김문제 [clickok] 2734 읽음    2008-01-14 14:54
실제 프로그램 내부에

그리드 형태인 Excel 문서를 Embedding 시키는 방법은 있습니다.

제가 기본적으로 알고 있는 것은..

MS 개발 도구에서는 자연스럽게 Active X형태로 호환이 제대로 됩니다.

하지만, 델파이나.. C++ 빌더에서는 그 기능을 제공하는 컴포넌트를 이용해야 한다라는 겁니다.

아니면, Excel의 파일 구조를 그래로 프로그래밍 하시면 됩니다.

Excel 97 파일 형식은 많이 오픈 된 것으로 알고 있습니다.

또 다른 방법은

델파이이나 빌더에서 사용가능한 컴포넌트를 이용하는 방법입니다.

그런 컴포넌트는 많이 있는 것으로 알고 있습니다.

물론 OLE 형태도 있고.

완전 독립적인 형태도 있는 것으로 알고 있고요

대표적으로

http://www.winsoft.sk/excelcs.htm

라는 사이트를 참고해 보십시오.

검색 잘 하시면.. 쉽게 답을 얻을 수 있습니다.

저도 실제로 프로그래밍 해 보지는 않았지만.


작성된 프로그램을 써 본 적이 있어서.. 답변드립니다.

엑셀 응용 프로그램 없이.. 실제 ....동작되는 것을요...

장성호 님이 쓰신 글 :
: 기본적으로 Excel이 설치되어있지 않는 pc에서 
: Excel 통합 문서 형식의 파일을 수정하는것은 매우 어렵습니다.
: 아래 코드도 에러 나구요 당연히 안되구요
:
: 왜냐하면 아래 코드는 Excel을 실행해서
: Excel프로그램에 어떤 처리를 요청하고 결과를 받아가져오는것입니다.
: OLE프로그램을 모두 그런식이죠
:
: 방법1. excel파일의 형식이 통합문서가 아니라면...?
:     -  xls파일이 콤마(,)로 구분된 xls라던가
:     - 탭(\t)으로 구분된 cvs파일이라던가..
:     - XML형식으로된  스프레드쉬트형식이라던가?
:     - 아니면 html형식이라던가...
:
:    위와같은 형식은 대개 Text형식이므로 문서형식만 잘알면 해당 부분을 쉽게 수정할수 있을것입니다.
:
: 방법2. 통합문서 형식 xls파일인경우...
:     --> 일반적인 방법은 없습니다. excel editer를 만들어야 하는데.. 쉽지 않죠
:            internet이 되고 고정된 서버를 둘수 있다면...
:            서버에 excel을 편집하는 기능을 만들어 두는 방식으로 해결이 가능할것이구요
:
:           잘모르는데.... 이를 지원하는 spreedsheet 컴포넌트가 있던가 하면 가능하수도..
:  
:
: excel이 설치되어있어야 한다고...   고객을 설득하거나 환경을 조성해주는것이 좋을것 같구요
: 아니면 방법1을 이용하세요
: 방법1은 속도도 빨라요
: 방법1의 단점은 Chart나 그림등이 지원 안됩니다. 이를 고려하셔야 하구요
:
: 그럼..
:    
:
:
: 이성희 님이 쓰신 글 :
: : 현재 액셀변환하는 소스입니다.
: : 예전에 여기 포럼 게시판에서 찾은 방법으로 하고 있습니다.
: : Variant XLApp;
: : Variant XLWorkbooks;
: 333333333333333333333333333333333333333333333333333333
: : Variant XLWorkbook;
: : Variant XLWorksheet;
: : try
: :     {
: :         XLApp = CreateOleObject("Excel.Application");
: :     }
: :     catch(...)
: :     {
: :         ShowMessage("Excel OLE server not found");
: :         return;
: :     }
: :     XLWorkbooks = XLApp.OlePropertyGet("Workbooks");
: :
: :     XLWorkbooks.OleProcedure("Add");
: :
: :     // 어플리케이션 내에서 첫번째 워크북을 얻는다.
: :     XLWorkbook = XLWorkbooks.OlePropertyGet("Item", 1);
: :
: :     // 워크시트들을 관리할 수 있는 오브젝트를 얻는다.
: :     XLWorksheet = XLWorkbook.OlePropertyGet("Worksheets");
: :     // 첫번째 워크시트를 얻는다.
: :     Variant xlSheet = XLWorksheet.OlePropertyGet("Item", 1);
: :
: :     xlSheet.OlePropertyGet("Cells").OlePropertySet("_Default", 1,1, "제목");
: :     xlSheet.OlePropertyGet("Cells").OlePropertySet("_Default", 2,1, "성명");
: :     xlSheet.OlePropertyGet("Cells").OlePropertySet("_Default", 2,2, "주민번호");
: : 위와 같은 형식으로 액셀변환을 하고 있습니다.
: :
: : 문제는 액셀이 설치되어 있지않은 PC에서 액셀변환 오류가 발생합니다.
: : 그리고 내용이 많을경우 속도도 느려지고 가끔 다운도 되는거 같습니다.
: :
: : 혹시 액셀이 설치되어 있지 않아도 변환 방법이 있는지 궁금합니다.
: : 방법을 아시는분은 저에게 많은 가르침 부탁드립니다.
: :
: : 기초가 약해서 그런지 많이 해메고 있습니다.
: :
: : 많은 도움 부탁드립니다.

+ -

관련 글 리스트
51897 [질문]액셀 설치되지 않은 PC에서 액셀변환하기 이성희 1308 2008/01/14
51908     Re:[질문]액셀 설치되지 않은 PC에서 액셀변환하기 슬.강슬기 1969 2008/01/15
51898     Re:[질문]액셀 설치되지 않은 PC에서 액셀변환하기 장성호 1912 2008/01/14
51900         Re:Re:[질문]액셀 설치되지 않은 PC에서 액셀변환하기 김문제 2734 2008/01/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.