2013-11-22 2 views
1

엑셀 통합 문서를 가지고 있습니다. 자동으로 새로 고침되는 HTML 페이지로 표시해야합니다 (2 분마다). 이를 위해 모든 시트에서 계산을 실행 한 다음 HTML로 저장해야합니다. 나중에 새 HTML 파일을 이전 HTML 파일과 교환하는 방법을 나중에 알아낼 것입니다. 나는 이미 모든 계산을 수행하고 매 2 분마다 HTML로 저장하는 Excel 매크로를 가지고 있습니다. 내가해야 할 일은 그 매크로를 호출하는 것입니다.엑셀이 설치되지 않은 경우 엑셀 매크로 실행

이 모든 작업을 수행 할 기계는 서버 컴퓨터이므로 MS 오피스를 설치할 수 없습니다. 따라서 Excel COM Inter-op를 사용할 수 없습니다.

하나는 제가 .net 프로그램이나 매크로를 실행할 VB 스크립트를 작성할 수 있다면입니다. 그러나 .net 프로그램은 항상 inter-op를 사용합니다.

또 다른 방법은 HTML로 책을 저장하고 HTML 자체에서 매크로를 실행할 수 있는지 여부입니다 (HTML에 VB 코드가있는 경우 모릅니다). 또한 여기에 내가 설치할 수없는 Visual Basic Editor가 필요하다는 것을 발견했습니다 (Excel 만 제공).

타사 소프트웨어를 사용하지 않는 것이 좋습니다.

위의 두 절차 중 하나를 주어진 조건에서 구현할 수 있습니까? 다른 방법이 없다면?

UPDATE :

해결책 오픈 XML로 찾고있다 그리고 마지막으로 SDK는 계산 엔진이없는 오픈 XML 2.0 엑셀 계산을 실행할 수없는 것으로 나타났습니다. Open XML SDK 2.5에 계산 엔진이 있습니까 ??

답변

5

요약하면 : Excel이 설치되지 않은 매크로는 실행할 수 없습니다. 최악의 경우 : 서버에 Excel을 설치하면 안됩니다. 안정적인 방법으로이를 권장하거나 불가능한 것은 아닙니다. 최선의 방법은 다음과 같습니다. EPPLUS와 같은 xlsx 파일을 읽을 수있는 net 라이브러리를 사용하고이 매크로를 EPPLUS 라이브러리를 기반으로하여 "번역"합니다. 또한 Interop (factor 10 - 100)보다 훨씬 빠르며 ASP.NET과 같은 서버 인프라 (예 :)에 더 잘 어울립니다.

+0

나는 이전 EPPlus을 발견했다. 그러나 제 3 자 소프트웨어를 사용하지 않고 어떤 방법이 있다면 나는 좋을 것입니다. 이 작업에서 나를 도울 dll을 Excel에서 얻을 수 있습니까? – amaturcoder

+0

@ amaturcoder No. –

+0

내 대답을 참조하십시오. 대안을 제시하고 Excel 작업용 공유 상자를 사용하고 서버 작업에 서버를 사용하십시오. –

0

공유 컴퓨터에서 .NET Managed AddIn으로 매크로를 넣고 셸 명령을 사용하여 서버에서 매크로를 실행하여 공유 컴퓨터에서 Excel을 열고 매크로가 Open에서 실행되는 것을 고려한 적이 있습니까?

그런 다음 매크로를 가져 와서 HTML로 데이터를 내보내고 서버에 페이지를 복사 할 수 있습니다.

말한 바와 같이, (이 과거에 행해졌지만, 그것은 바람직 결코)

가장 강력한 옵션은 같은 .NET에서 다시 쓰기 당신의 VBA를하는 것입니다 서버에 Office를 설치하지 마십시오. NET Managed AddIn - 프로세스에 대해 더 많은 제어권을 가졌지 만, 지적되지는 않았지만 서버에는 없습니다.

+0

Tricky Idea :) 그러나 나는 또한 그것을 피할 것입니다. 어떤 이유로 Excel 매크로가 멈추거나 둘 이상의 사람들이 매크로를 실행하려고하면 어떻게됩니까? –

+0

그래, 그렇긴하지만 매크로가 .NET으로 관리되는 AddIn으로 작성 되었다면 어쩌면 별도의 스레드에서 엑서드 될 수 있을까? –

+0

또한, 많은 사람들이 매크로를 실행하는 것은 문제가 될 필요가 없도록 절차와 액세스 제어의 문제입니다. .NET Managed AddIn 일 경우 스레드 관리를 통해 매크로 걸기를 처리 할 수 ​​있습니까? –

0

답장을 보내 주셔서 감사합니다. 주어진 조건에서 엑셀을 HTML로 표시하는 방법을 찾았습니다.

참고로 NPOI로 알려진 프로젝트를 사용했습니다. java에서 사용되는 POI의 .net 버전입니다. Excel을 설치하지 않고 Excel 통합 문서를 편집하고 저장할 수 있습니다. 플러스 그것은 오픈 소스 그래서 내 요구 사항에 따라 그것을 사용자 정의하십시오.

https://npoi.codeplex.com/

https://github.com/tonyqus/npoi

관련 문제