2013-06-25 2 views
0

나는 엑셀 시트에서 증권 거래 데이터를 추출하고 데이터베이스에 을 저장하는 앱을 만들어야 만한다. 문제는 엑셀 시트가 블룸버그 플러그인을 통해 새로운 데이터를 얻는다는 것입니다.자바를 통해 엑셀 시트 새로 고침

페이지를 새로 고치려면 사용자가 스프레드 시트를 열고 플러그인의 새로 고침 버튼을 누르십시오. 1 초 후 데이터가 시트에 추가됩니다.

자바를 통해 데이터를 가져 오거나 가져 오는 방법에 대한 가이드가 있지만 시트를 열고 업데이트를 실행하고 데이터를 가져 오는 방법을 모르겠습니다.

누구든지 나에게 몇 가지 제안을 할 수 있습니까?

+0

Apache POI를 사용할 수 있습니다. 일반적으로 데이터를 Java로 스트리밍하고 수정 한 다음 다시 작성할 수 있습니다. 파일이 이미 열려 있으면 몇 가지 문제가 발생할 수 있습니다. –

답변

0

아마도 웹 쿼리를 사용하여 Excel로 직접 데이터를 검색 할 수 있습니다. 기본적으로이 기능을 사용하면 웹에서 데이터를 가져올 수 있습니다. URL을 지정한 다음 가져올 페이지의 데이터를 선택합니다.

VB에서 이러한 쿼리를 작성할 수도 있습니다 (VB에서 수행하는 방법에 대한 자세한 내용은 문의하십시오).

http://office.microsoft.com/

+0

웹 검색어를 사용하여 Bloomberg 추가 기능에서 데이터를 가져 오는 방법을 알 수 없습니다. – assylias

0

당신이 달성 하려는지 명확하지 않다. 스프레드 시트를 사용하여 데이터를 가져 와서 데이터베이스에 저장한다는 사실을 알고 있습니다.

은 내가 생각할 수있는 몇 가지 대안이 있습니다

  • [더러운] 분/시간 스프레드 시트마다 X를 엽니 다 Windows에서 예약 된 작업을 만듭니다. 통합 문서에서 Application.OnTime을 사용하는 Workbook_Open 이벤트를 작성하여 몇 분 후 (데이터 업데이트에 소요되는 시간) 데이터로 수행해야 할 작업을 수행하는 매크로를 실행하십시오. 이것은 오류가 발생하기 쉽고 때때로 실패 할 수 있습니다.
  • [더 나은] VBA Addin을 사용하여 프로그래밍 방식으로 데이터를 가져오고 VBA에서 시트를 채우거나 데이터로 수행해야하는 작업을 수행한다는 점을 제외하고는 비슷한 것을 사용하십시오. 이 경우에는 Application.OnTime이 필요 없습니다. 스프레드 시트를 자동으로 저장/닫을 수도 있습니다.
  • [더 좋음] 자바 코드에서 데이터를 가져 와서 데이터베이스로 보냅니다. 사용자가 Excel에서 데이터가 필요한 경우 필요할 때 Excel에서 데이터베이스를 쿼리 할 수 ​​있습니다.

참고 : 일반적인 Bloomberg Terminal/Anywhere 라이선스로는 다른 컴퓨터에 데이터를 저장하는 것이 허용되지 않으므로 데이터베이스를 로컬 PC에 배치해야합니다. 다른 라이선스에는 다른 조건이 있습니다.

0

데이터를 검색하려면 Bloomberg's API v3을 사용해야합니다. Bloomberg 터미널에서 FLDS에 표시되는 필드에 액세스 할 수 있습니다.