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
[50951] Re:Re:Re:Re:Re:[질문]컴포넌트 사용하지 않고 엑셀 읽어오기
장성호 [nasilso] 1631 읽음    2007-10-19 16:45
고생이 많으시네요
님께서 이번에 사용하신 방법은
저도 예전에 한번 저장용으로 테스트 해본적은 있지만
읽어오는 것은 해보지 않았었는데.. 님덕택에 한번 해보네요

읽기와 저장 기능을 클래스로 만들었는데
여기저기 허접하네요

간단히 저장 및 열기는 됩니다.
테스트 해보시고 수정하셔서 사용하세요

그럼..

--추신--

근데 죄송한데요 닉네임 바꾸시면 안되나요?

제가 답변을 달때 질문이 잘이해가 되지 않는경우가 많아서
닉네임으로  그사람의 다른 질문/답변들을 검색해보고
질문자의 수준과 질문의 의도를 좀더 정확하게 파악 하거든요

그런데 초보라는 닉네임은 너무 많아서 .. 헷갈립니다.

ㅋㅋ

초보
왕초보
초보자
왕초보빌더
초보빌더
넘초보
델초보
C초보
c++초보

그냥 의견입니다.(신경쓰지 않으셔도 됩니다.
저도 처음 이곳을 이용할대 초보라는 닉네임을 썼으니.. ㅋㅋ




초보 님이 쓰신 글 :
: 답변 감사합니다.
: 아래처럼 Bigin~ , End~ ,  CellNumber~ 를 바꿀려고 하는데 힘드네요.
:
: TFileStream *FStream = new TFileStream(OpenDialog1->FileName, fmOpenRead);
: 한 다음에 Bigin 하고 data를 읽고 end 하면 되는건가요?
: 그럼 아래의 3개 함수를 수정하면 될거 같은데 Write를 Read로 바꾸는거는 맞는지요?
: 어떻게 읽어 와야 하는지 좀 도와 주십시요.
:
: fmOpenRead Help를 찾아서 FileRead 예제로 해도 이상한 숫자가 들어오고 Error가 나네요.
:
:
: void __fastcall XlsBeginStream_Read(TStream *XlsStream, const WORD BuildNumber)
: {
:     CXlsBof[4] = BuildNumber;
:     XlsStream->ReadBuffer(CXlsBof, sizeof(CXlsBof));
: }
: void __fastcall XlsEndStream_Read(TStream *XlsStream)
: {
:     XlsStream->ReadBuffer(CXlsEof, sizeof(CXlsEof));
: }
: void __fastcall XlsReadCellNumber(TStream *XlsStream, const WORD ACol,
: const WORD ARow, const double AValue)
: {
:  ?   
:     CXlsNumber[2] = ARow;
:     CXlsNumber[3] = ACol;
:     XlsStream->ReadBuffer(CXlsNumber, sizeof(CXlsNumber));
:     XlsStream->ReadBuffer(&AValue, 8);
: }
:
:
:
:
:
:
:
:
: 장성호 님이 쓰신 글 :
: : [TFileStream 을 쓸때 ]
: :
: : 파일이 새로만들때는 아래와 같이 하지만
: : TFileStream *FStream = new TFileStream("c:\\e.xls", fmCreate);
: :
: : 이미 있는 파일을 읽어오거나 수정할때는 mOpenRead 나 fmOpenReadWrite 를 쓰셔야 합니다.
: : TFileStream *FStream = new TFileStream("c:\\e.xls", fmOpenRead);
: :
: : * 모드  (F1 하세요)
: : fmCreate    Create a file with the given name. If a file with the given name exists, open the file in write mode.
: : fmOpenRead    Open the file for reading only.
: : fmOpenWrite    Open the file for writing only. Writing to the file completely replaces the current contents.
: : fmOpenReadWrite    Open the file to modify the current contents rather than replace them.
: :
: : 먼저 저장할때 는?
: :
: : 1. BOF 저장                                                   - 12 Byte
: : 2. RK , Number , Label    를 반복해서 저장     - Cell Header(10~12 Byte ) + Data(4 Byte 또는 8Byte , 기타 )
: : 3. EOF 저장                                                   - 4 BYTE
: : 위와같은 순서가 되잖아요
: :
: :
: : Cell Header는
: :
: : CXlsNumber와   CXlsRk 는 10Byte이구
: : CXlsLabel 은 12 Byte여서 그렇게 표현한것입다.
: :
: : ...
: :
: : 그럼..

+ -

관련 글 리스트
50940 [질문]컴포넌트 사용하지 않고 엑셀 읽어오기 초보 1760 2007/10/19
50945     Re:[질문]컴포넌트 사용하지 않고 엑셀 읽어오기 장성호 2380 2007/10/19
50946         Re:Re:[질문]컴포넌트 사용하지 않고 엑셀 읽어오기 초보 1751 2007/10/19
50948             Re:Re:Re:[질문]컴포넌트 사용하지 않고 엑셀 읽어오기 장성호 1958 2007/10/19
50950                 Re:Re:Re:Re:[질문]컴포넌트 사용하지 않고 엑셀 읽어오기 초보 1662 2007/10/19
50951                     Re:Re:Re:Re:Re:[질문]컴포넌트 사용하지 않고 엑셀 읽어오기 장성호 1631 2007/10/19
50953                         Re:Re:Re:Re:Re:Re:[질문]컴포넌트 사용하지 않고 엑셀 읽어오기 unitas 1420 2007/10/19
50954                             Re:Re:Re:Re:Re:Re:Re:[질문]컴포넌트 사용하지 않고 엑셀 읽어오기 장성호 1699 2007/10/19
50956                                 Re:Re:Re:Re:Re:Re:Re:Re:[감사]감사합니다. unitas 1340 2007/10/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.