aaae333
52
2019-02-10 18:37:13
10
286

poi 엑셀을 사용하는데, 엑셀 정품인증이 중요한가요??


회사에서 진행중인 프로젝트 중에, 

poi 엑셀을 이용해서, 암호가 걸려있는 엑셀파일을 읽는 로직이 있는데요,

계속 아래와 같은 에러가 떴어요

ERROR - Fnd02Controller.upload(1000) | org.apache.poi.EncryptedDocumentException: Unsupported hash algorithm

그래서 코딩이 잘못된줄알고 몇 일 헤맸는데, 

알고보니 코드상에는 문제가없고, 파일의 문제더라구요,

다른 사람의 컴퓨터에서 만든 엑셀파일은 에러가없는데, 제 자리에서 만든 엑셀파일만 위와같은 에러가 뜨는데, 제 자리는 엑셀이 정품이 아니거든요. 


그래서 엑셀 정품 인증 여부 때문인가 생각해보다가도,

그럼 제 로컬에서도 안돌아가야하잖아요. 

근데 제 로컬(이클립스에서 톰캣실행) 에서는 잘 돌아가고, 오히려 다른 사람이 만든 엑셀 파일을 못읽어요


왜 이런걸까요??

0
0
  • 답변 10

  • aaae333
    52
    2019-02-10 18:53:13
    NPOIFSFileSystem fileSystem = new NPOIFSFileSystem(new File(dirAME +                                multipartFile.getOriginalFilename()));
    EncryptionInfo info = new EncryptionInfo(fileSystem); // 이 코드에서 에러가 발생해요.

    암호를 입력받아서 비교하는 로직까지 가기도 전에 바로 위 코드 한줄에서 에러가 발생해요.
    EncryptionInfo info = new EncryptionInfo(fileSystem); 이 코드아래부터 print가 안찍혀요.


    0
  • aaae333
    52
    2019-02-10 19:15:55

    엑셀 버전은 동일하게 2013 버전이에요

    차이점이라고는

    정품 인증 여부차이뿐이라서요

    근데 반대로, 제 로컬에서는, 제자리에서 만든 엑셀파일을 잘 읽는데, 다른 정품인증 받은 엑셀로 만든 파일은 못읽네요. ㅠㅠ

    0
  • aaae333
    52
    2019-02-10 20:34:21

    회사 서버에서 구동중인 플젝이라 집 컴에서는 돌릴수가 없어요 ㅠ


    정리하면

    운영서버(리눅스 서버)에 반영된 플젝에서는,  다른 사람들이 만든 엑셀파일은 에러없이 구동되나

    제 자리에서 만든 엑셀파일은  Unsupported hash algorithm 오류가 발생한다.


    제 자리에서 로컬(이클립스 톰캣)에서 돌아가는 플젝에서는, 내가 만든 엑셀파일도 잘 돌아간다.

    이런상황이네요 ㅠㅠ 



    0
  • aaae333
    52
    2019-02-10 20:54:50

    저도 구글링해서 위 답변 보고나서,

    서버에 반영된 lib이랑 제 로컬 lib 이랑 비교했는데

    poi 버전도 일치해요....ㅠ

    0
  • aaae333
    52
    2019-02-10 21:11:52

    네 다른 poi버전은 없어요. lib은 완전히 동일해요 ㅠㅠ 


    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.