사무실을 설치하지 않고 어떻게 프로그래밍 방식으로 엑셀을 만들고 읽고 쓸 수 있습니까?
엑셀 파일을 읽고 쓰고 만드는 수많은 방법들이 정말 혼란스럽습니다.VSTO, OLEDB 등은 모두 사무실을 설치해야 한다는 요건을 갖추고 있는 것 같습니다.
제 상황은 이렇습니다.엑셀 파일을 입력하고, 계산을 좀 하고, 기본적으로 첫 엑셀 파일을 수정하는 새로운 엑셀 파일을 만드는 앱을 개발해야 합니다.이 모든 것은 이를 실행하는 컴퓨터에 사무실이 설치되어 있지 않을 수 있다는 제약 때문입니다. (이유는 묻지 마십시오...)
저는 모든 엑셀 포맷을 지원해야 합니다.유일한 장점은 형식 스프레드시트 자체가 매우 간단하다는 것입니다.그저 많은 기둥과 가치관, 화려한 것은 없습니다.그러나 최종 사용자는 CSV 파일이 무엇인지 알지 못할 수도 있습니다.
HTML 테이블 형식으로 Excel을 작성합니다.
<html>
<body>
<table>
<tr>
<td style="background-color:#acc3ff">Cell1</td>
<td style="font-weight:bold">Cell2</td>
</tr>
</table>
</body>
</html>
파일 확장명을 지정합니다.Excel이 자동으로 변환합니다.
Office를 설치하지 않으면 Office 2007 .xlsx 파일만 열려는 경우를 제외하고 Excel 이진 파일 형식을 이해할 수 있도록 설계된 것이 필요합니다.
내가 찾은 (그리고 내가 사용하는) 가장 좋은 것은 스프레드시트기어인데, 그것은 에 추가됩니다.NET 네이티브는 이전에 사용했던 COM/OLE 솔루션보다 훨씬 빠르고 안정적입니다.
대신 CSV 파일을 읽고 씁니다.Excel은 그것들을 잘 읽고 사용하기 더 쉽습니다..xls 파일에 대해 작업해야 하는 경우 Excel뿐 아니라 OpenOffice도 지원합니다.OpenOffice는 Excel 파일을 읽고 쓸 수 있습니다.
1번 방법인 Open XML SDK를 사용하는 방법을 고려해 보셨습니까?스타일을 유지하고 원하는 대로 조정할 수 있습니다.실제 파일에서 수행할 수 있는 모든 작업을 프로그래밍 방식으로 수행할 수 있습니다.SDK에는 기본 XML을 보여주는 Document Reflector라는 도구가 함께 제공되며 이를 생성하는 데 사용할 수 있는 LINQ 문도 표시됩니다.그것은 그것을 가지고 놀고, 어떻게 변화가 이루어지는지 보고, 코드로 그것을 다시 만드는 것의 핵심입니다.
단 한 가지 주의할 점은 이전 버전이 아닌 새로운 XML 기반 형식(*.xlsx)에 적용된다는 것입니다.약간의 학습 곡선이 있지만 블로그와 다른 사이트에서 더 많은 자료가 나오고 있습니다.
비용이 문제가 되지 않는다면, 아스포스의 엑셀 제품을 확인해 보는 것을 제안합니다.저는 그들의 워드 제품을 사용했고 만족했습니다.
Excel XLSX 파일은 XML 파일을 "그냥", 더 정확하게는 여러 개의 XML 파일을 포함하는 ZIP 파일입니다.을 Excel로 변경하면 .Test.xslxTest.zipZIP 파일입니다. 및 가능합니다.XML 스키마는 쉽게 표준화되고 사용할 수 있습니다.하지만 원시적인 XML 처리 도구와 프레임워크만 사용하여 조작하는 것은 쉽지 않을 수도 있다고 생각합니다.
Excel 파일은 독점 형식이므로 사무실 상호 운용 없이는 이 작업을 수행할 수 없습니다.일부 타사 도구가 존재하지만(아마도 MS로부터 형식을 라이센스 받은 것으로 추정됨), 저는 그 유용성에 대해 언급하기 위해 직접 사용하지는 않았습니다.
기본 파일 형식을 제어할 수 없습니다. 즉, 단순한 CSV 또는 XML 형식은 불가능합니까?
저는 CarlosAg라는 아주 좋은 라이브러리를 사용하곤 했는데, 이 라이브러리는 Excel XML 형식을 사용합니다.훌륭했고(Excel이 포맷을 인식함), 또한 매우 빨랐습니다.여기서 확인해 보세요.
아, 참고로, 우리는 이것을 당신이 필요로 하는 바로 그 이유로 사용하곤 했습니다.이러한 파일을 생성한 서버에서 Excel을 설치할 수 없습니다.
@RHICke의 제안에 따라 CSV 파일로 작업할 수 없고 웹 앱에서 작업 중이라고 가정할 경우 데스크톱 앱은 요구 사항에 따라 XL을 설치해야 합니다.
저는 당신의 처리 앱을 웹 서비스로 만들고, XL에서 직접 당신의 웹 서비스와 상호 작용할 XL 애드인을 구축하는 것이라고 생각합니다.
XLSX 파일의 경우 http://www.codeplex.com/ExcelPackage 을 사용합니다.그렇지 않으면 David가 제안한 것처럼 일부 유료 타사 솔루션이 출시됩니다.
저는 서버 기계에 사무실을 설치하지 않는 것에 대한 요구 사항을 이해할 수 있습니다.사용 가능한 공간과 같은 많은 라이브러리가 있으며, 일부는 라이센스가 필요합니다.MS Excel 형식을 대상으로 하는 경우 Microsoft의 ACE OLEDB 데이터 공급자인 네이티브 상호 운용성 라이브러리를 사용할 수 있습니다. 이 라이브러리를 컴퓨터에 설치하고 프로그래밍 방식으로 읽기 시작할 수 있습니다.필요에 따라 연결 문자열과 명령을 정의해야 합니다. (참조: 이 문서 @사용자 및 내 아이디어) 설정 및 문제 해결 정보와 함께 이 라이브러리 사용에 대해 설명합니다.
언급URL : https://stackoverflow.com/questions/1369361/how-can-i-programmatically-create-read-write-an-excel-without-having-office-in
'programing' 카테고리의 다른 글
| Python: URLIB를 가져오는 중입니다.인용문 (0) | 2023.05.15 |
|---|---|
| IF - ELSE IF - Excel의 ELSE 구조 (0) | 2023.05.15 |
| 아이폰 디버깅:'프로세스 작업을 가져오지 못했습니다'를 해결하는 방법은 무엇입니까? (0) | 2023.05.15 |
| Visual Studio 디버거에서 배열을 보시겠습니까? (0) | 2023.05.15 |
| ng가 내부 또는 외부 명령으로 인식되지 않습니다. (0) | 2023.05.10 |