의 메모리 스트림에 Excel 워크북을 쓰는 방법.NET?
Excel 워크북을 다음 웹 사이트에 쓰는 방법MemoryStream
처음에 파일 시스템에 저장하지 않고?
내의 모든 옵션Microsoft.Office.Interop.Excel.WorkBook
save 옵션은 파일 이름을 사용합니다.
저는 PIA와 Excel 파일을 문서 저장소에 저장하고 브라우저로 스트리밍하는 광범위한 작업을 수행했지만, 먼저 파일 시스템에 내용을 쓰지 않고는 PIA를 사용할 수 있는 해결책을 찾을 수 없었습니다.
저는 당신이 파일 시스템을 중개자로서 처리해야 한다고 생각합니다.좋은 소식은 가이드처럼 파일에 고유한 이름을 지정하거나 다른 임시 파일 이름 메서드(.net에 존재하는지 여부는 확실하지 않음)를 사용하고 완료되면 내용을 삭제할 수 있다는 것입니다.
Open XML SDK 2.0을 사용하여 이 작업을 수행할 수 있습니다.Eric White는 In-Memory Open XML Documents 작업 시 스트림에서 OOOXML 파일을 사용하는 방법에 대한 훌륭한 기사를 보유하고 있습니다.
Excel의 기본 기능만 필요한 경우 워크북을 HTML 스트림으로 만들 수 있습니다.SO에 대한 또 다른 질문이 있는데, 이 질문은 손이 가지 않습니다.
이를 통해 솔루션의 확장성과 관련된 몇 가지 문제도 해결할 수 있습니다.
다른 옵션은 이 무료 라이브러리를 사용하여 워크북을 내보내는 것입니다.워크북 클래스의 저장 방법은 파일 이름 또는 스트림을 사용할 수 있습니다.
이 작업을 수행할 수 있는 유일한 방법은 보관하려는 모든 데이터/공식/vba/links/ole 개체를 저장하고 워크북에서 개체로 복사한 다음 해당 개체를 메모리 스트림으로 유지할 수 있는 사용자 지정 개체를 생성할 준비가 되어 있는 경우입니다.프록시 개체를 중간에 사용하는 데 영향을 줍니다.
(다른 사람들이 말했듯이) Excel 파일을 메모리에 직접 쓰는 방법은 없습니다.
Excel 2007 OpenXML 형식을 사용하면 워크북의 BeforeSave 이벤트를 사용하여 먼저 BeforeSave 이벤트의 Cancel 매개 변수를 True로 설정한 다음 결과 xml 패키지(파일을 나타내는)를 메모리의 개체로 직렬화하는 사용자 지정 메서드를 사용할 수 있습니다.
언급URL : https://stackoverflow.com/questions/156500/how-to-write-an-excel-workbook-to-a-memorystream-in-net
'programing' 카테고리의 다른 글
데이터를 통합하여 MariaDB의 다양한 값 수를 줄이려면 어떻게 해야 합니까? (0) | 2023.08.20 |
---|---|
mysql MEMORY ENGINE이 더 많은 데이터를 저장하도록 하려면 어떻게 해야 합니까? (0) | 2023.08.20 |
URL 매개 변수를 Vuejs에 전달하는 방법 (0) | 2023.08.20 |
MySQL 내부 조인 및 잘못된 성능에 의한 정렬 (0) | 2023.08.20 |
IIS Express 캐시 지우기 (0) | 2023.08.20 |