2009-12-31 3 views
17

폐쇄적이고 상업적인 환경에서 요즘 (순수 또는 SDK를 통해) Open XML (OOXML)을 사용하는 사람들이 얼마나되는지 궁금합니다. 나는 '공개 웹'(MSDN, OpenXMLDeveloper.org 등)에서 무슨 일이 벌어지고 있는지 잘 알고 있지만 SO 사람들의 경험에 대해 궁금해하고 있습니다.Open XML을 얼마나 많이 잡았습니까?

대부분의 사람들은 VOX 및 VSTO를 선택 해제하여 OOXML 형식으로 직접 작업하는 것을 선호합니까? OOXML에서 얻을 수있는 이점은 객체 모델에서 얻지 못하는 것입니다. 나는 왜 당신이 그것을 사용하고 있는지, 왜 당신이 사용하고 있지 않은지, 무엇을 사용하고 있는지 등에 대해 더 많이 배우고 싶습니다.

저는 OOXML의 커뮤니티에서 문서 자동화 또는 기타 용도에 대한 접근 나는 커뮤니티 포럼 (이 하나 또는 다른 사람들)이 질문과 사용자들에게 믿을 수 없을만큼 활발하게 활동하고있는 것을 발견하지 못했습니다. (이 게시물의 태그로 질문의 수를 확인하십시오.) 그래서 저는 제가 소수의 사람 중 누구인지 궁금합니다. OOXML을 광범위하게 사용하고 있습니다.

답변

9

이제 Microsoft Office 2007 (특히 Excel)에서 Open XML이 지원되므로 Office 자동화보다 훨씬 쉽게 작업 할 수 있습니다. 이것에 대한 주요 이유는 다음과 같습니다.

  • 성능이 더 좋습니다.
  • IPC와 관련하여 문제가 없습니다 (즉, 누군가 다른 이름으로 저장 대화 상자에서 Excel을 열어 충돌을 일으켰습니다).
  • Office 자체 또는 외부 구성 요소에 대한 어떠한 종속성도 없습니다.
  • Linq 확장 및 쿼리를 C#에서 작성하는 것이 매우 쉽습니다.
  • 아무런 문제 나 위험없이 서버 환경에서 사용할 수 있습니다.

Office XP/2003 사용자가 Office 2007 파일을 호환 기능 팩으로 열 수 있다고 가정 할 때 이전 자동화 또는 "OfficeML"방법을 계속 사용할 이유가 없습니다. 학습 곡선이 약간은 있지만, 오늘은 가장 좋은 선택입니다. 무료이며 신뢰할 수 있습니다. Office 2007에서 사용되는 기본 형식이므로이 기능을 사용하려면 바보 같은 트릭이 필요하지 않습니다. XL2003 에서처럼 XLS 콘텐츠 유형을 HTML에 첨부하고 XL2007에서 잘못된 확장 기능에 대해 불만을 제기하는 것과 같이).

VBA/VSTO를 완전히 대체한다고는 말할 수 없습니다. 일반적으로 요구 사항이 Office 환경과 통합되는 솔루션의 일부입니다. OOXML을 사용하면 일반적으로 주위에 전체 응용 프로그램을 작성해야합니다. 그러나 단순한 가져 오기/내보내기 (과거 90 %의 자동화가 과거에 사용 된 것임)에 대해서는 확실히 OOXML이 필요합니다.

+0

감사합니다. 아론, 좋은 통찰력. –

+2

Open XML에 대한 한 가지 우려 사항은 여전히 ​​Office 2003을 사용하는 사용자가 많고 처음부터 문서를 만들 때 (Word 또는 Excel을 사용하지 않는 경우)입니다. 필자는 Open XML SDK를 사용하여 파일을 만들고 Office 2007에서 열 수있는 몇 가지 문제에 부딪 혔지 만 누군가가 Office 2003에서 호환성 팩을 사용하여 열려고하면 충돌이 발생합니다. 문서를 릴리스하기 전에 두 버전의 Office를 모두 테스트 해보십시오. –

+0

@Adam : 흥미 롭다. 나는 이것에 대한 버그 보고서를 얻지 못했지만, 앞으로도 계속 테스트 할 것이다. – Aaronaught

1

SharePoint에서는 문서 생성을 위해 Open Xml SDK를 사용하고 사용자 지정 프레젠테이션 (데이터의 경우 XSLX에서 가져 오기)을위한 PPTX 생성 및 여러 문서 세그먼트에서 합성 문서를 "작성"했습니다.

형식 및 SDK는 훌륭합니다. ASP.NET 또는 SharePoint 시나리오에서 서버에 대해 걱정할 필요가 없습니다. SDK 또는 "무차별 대입"XML이 목표를 달성 할 수없는 시나리오가 너무 많습니다. 하나의 사례는 문서에 대한 암호 보호 및 DRM이지만 더 많은 경우입니다. 나는 aaronaught과 독점적 인 솔루션이 아니라 SharePoint, VSTO 및 기타 문서 생성 솔루션 용 툴 벨트 툴에 동의합니다.

+0

흥미로운 PPTX 세대입니다. 예를 들어, 영업 담당자가 특정 고객을위한 맞춤 갑판을 필요로하고 백엔드가 SDK를 사용하여 사전 구축 된 템플릿에 삽입 할 고객 및 데이터를 쿼리 할 수 ​​있습니까? –

+0

오카 투. 나는 거의 정확하게 그 일을했다. 우리 고객은 결과에 매우 만족합니다. 또한 Excel과 Word를 사용하여 시스템의 정보를 가져오고 내보낼 수 있습니다. – Andrew

+0

오카 추 (Okatu), 우리는 DOCX 문서를 생성하기 위해 당신이 묘사 한 것과 매우 유사한 (SharePoint 및 다른 외부 시스템으로부터 데이터를 가져 오는) 상황과 유사합니다. PPTX는 Excel 파일의 데이터를 기반으로 맞춤 슬라이드를 만드는 것과 매우 유사합니다. –

1

내가 많이, 내가 VBA로 프로그램이 기술 바라 보았다

+0

흥미 롭습니다. SDK를 사용하거나 직접 쓰고 있습니까? 차트 및 그래프와 같은보다 복잡한 BI보고를 수행하고 있습니까? –

+0

SDK 2.0 Beta 그러나 사용하는 것이 고통 스럽다고 생각합니다. 차트가 SoftwareFx 차트 패키지를 사용하여 만드는 반사경을 사용합니다. 데이터는 회사가 40 가지 시장에서 어떻게 전달하는지에 대한 후속 조치를 취하는 데이터를 판매하며 다양한 세그먼트/성장/점유율에서 가치/볼륨/백분율/시장 침투를 조사합니다. 그렇습니다. BI는 사용하지만 SQL은 Linq를 사용합니다 – salgo60

+0

사용법 다른 시장의 제품에 대한 Discontinuation 결정을 결정하고 동기를 부여하기위한 것입니다. – salgo60

3

오픈 XML을 사용하여 국가의 판매 실적은 PPT 데크에 전달하는 시나리오를하고있는 중이 야하지만 내 요구에 대한 복잡한 방법 방법이었다 . Linq와 XML처럼 내 eararning의 혜택을 누릴 수있는 몇 가지 좋은 점이 있지만 VBA에서 기본 형식으로 전환하기위한 기준은 너무 높으며 시간과 비용면에서 사치스럽지 않습니다. VS.Net 및 Open Office XML 형식 학습에 투자해야합니다.

하지만 실제로 도움이 될 것이라고 생각되는 한 가지는 LMS 용 메타 태그 PowerPoint 콘텐츠입니다.

+1

예, 나는 많은 것으로 의심됩니다. .NET 및 다른 새로운 기술로의 변화는 VBA에서 큰 도약이었습니다. –

4

Simple OOXML과 같은 라이브러리는 학습 곡선을 크게 향상시킬 수 있습니다.

2

Excel로 내보내기 위해 Open XML SDK를 사용하고 있습니다. 우리가 우리 자신의 (공유 문자열을 위해) 캐싱을해야하기 때문에 꽤 느리다는 것을 말해야합니다. 라이브러리는 Open XML 형식의 객체 표현입니다. 때로는 좋은 일이 될 수도 있고 때때로 그렇지 않을 수도 있습니다. 특히 Open XML 표준을 잘 알고 있어야하는 이유는 SDK가 아무 것도 처리하지 못하기 때문입니다. 형식이 가져 오는 모든 제한 사항을 알아야하며, xlsx 또는 docx 등에서 어떤 요소를 제외해야 하는지를 알아야합니다. 일관성없는 Excel 스프레드 시트 나 좋지 않은 단어 문서를 만들 수 있습니다. 글쎄, 그것은 적어도 무료입니다 :) 아무것도 이상.

1

저는 셰이프에서 특별한 주석을 찾기 위해 pptx 파일을 구문 분석하는 데 사용했습니다. 이 주석은 다른 리소스 (예 : uri의 PDF 파일 등)에 대한 링크입니다. 그런 다음 deepzoom 소프트웨어를 사용하여 pptx를 렌더링 한 다음 uri의 모양을 렌더링합니다. 재미 있지만 천천히. 조사 및 포스터를 보는 "참신한"방법을 도울 때 사용하십시오. 그러나 이것은 LOB가 아닙니다.

1

Google은 최근에 Word Interop에서 Open XML로 마이그레이션했습니다.

우리의 응용 프로그램은 Word 및 pdf 형식의 송장 작성에 사용됩니다. Interop을 사용하면 인보이스 크기가 5-10 분 정도 소요됩니다. 이제 OpenXML과 SSRS를 사용하면 시간이 약 30 초로 단축되었습니다. Word의 유일한 문제 영역은 Word 2010에서 2007 로의 일부 기능이 이전 버전과 호환되지 않아 수정하고 실행하는 데 시간이 걸렸습니다. 목차 만들기, 문서 병합하기 등과 같이

Linq, MSDN 및 Eric White's Blog을 사용하면 올바른 방향으로 갈 수 있습니다.

관련 문제