2009-12-03 2 views

답변

0

저는 직접 Excel에서 열 수있는 CSV을 만들고 싶습니다. Office Open XML 사양을 해킹하려고 시도하는 것보다 훨씬 적은 작업이므로 Excel에 COM interop이 필요하지 않습니다 (Excel 복사본이 필요함).

+0

그러나 CSV를 사용하여 Excel에서 여는 데는 몇 가지 문제가 있습니다. 예를 들어 쉼표, 큰 따옴표 또는 새 줄을 넣으려면 인코딩해야합니다. 또 하나는 숫자 형식의 문자열을 출력하고 "01"을 Excel 셀에 표시하려면 "0"으로 시작하는 경우입니다. 엑셀이 숫자라고 생각하고 '0'을 제거하기 때문에 직접 출력 할 수 없습니다. 그런 다음 CSV에 수식을 넣어야합니다 (예 : "01"). 그리고 이것을 CSV로 나타 내기 위해서는 다음과 같이 작성해야합니다 :' "=" "01" ""'. 그리고 이것을 C# : @ "" "=" "" "01" "" "" ""로 나타냅니다. –

0

Office Primary Interop Assemblies을 사용하면 Excel 2007을 완전히 자동화하고 C# 내에서 통합 문서를 만들 수 있습니다.

DB 또는 플랫 파일 -> Excel 통합 문서/워크 시트에서 매핑하는 방법을 완벽하게 제어 할 수 있으므로 제어 기능이 뛰어납니다.

2

당신은 그것을 수동으로 OpenXML과 사양을 해킹 harcore보다 더 편안

"마이크로 소프트 오피스 오픈 XML의 SDK 2.0"

를 사용할 수 있습니다. .NET에 강력한 형식의 래퍼 클래스가 있으므로 간단한 시트를 만드는 것이 어렵지 않습니다. interop 및 msoffice를 설치할 필요가 없으며 서버 솔루션에 안전합니다. 솔루션에 포함 할 수있는 DLL은 몇 개뿐입니다.

나는 편지 병합 솔루션을 만들었지 만 너무 무서웠습니다.

언제나 그렇듯이 가능한 경우 일반 CSV 형식을 선호합니다.