본문 바로가기

Programming/XML

Export excel file via Asp.NET MVC, using OpenXml 개요 Web에서 고전적인 형태로 엑셀 파일을 내려주는 경우(Html table element 활용), 정확한 excel 파일 포맷을 준수하지 않기때문에, viewer가 이를 후 보정하여 보여주는 형태로 동작하게 됩니다. 이를 방지하기 위해서 정확하게 format을 준수하는 excel 파일을 생성하여 제공하기 위해 ExcelDocument와 ExcelResult를 정리하였습니다. 아래의 코드는 References에서 제공하는 것을 살짝 modify한 것입니다.개발하던 중 막히는 부분을 찾아보다가, 거의 그대로 유용할 수 있는 sample을 확보해서... Install Packages OpenXml SDK를 이용하기 위해서는 WindowsBase.dll이 필요하며, SDK를 손쉽게 활용하기 위하여 Simpl.. 더보기
BOM issue (65279 '') XmlSerializer를 이용해서 개체를 저장하는 방식을 자주 사용하는데, 갑자기 desirialize를 위한 parsing이 제대로 되지 않는 issue를 접하게 되었습니다. 파일이 손상되었는 지, 다른 logic이 변경되었는 지를 열심히 확인하였지만... 그런 건 없었구요. (내 반나절... ㅜㅠ) 문제의 원인은 UTF8로 encoding한 xml파일의 앞쪽에 BOM(Byte Order Mark)가 포함되어 있는 것이 었습니다. Paser에서 ' 더보기
XML vs. Json comparison Data serialization formats다양한 format이 존재하지만, 가장 대중적인 XML과 JSON을 비교하였습니다. Compare table (link에서 일부 발췌) 더보기
How to handling MS excel file Excel파일 Read/Write 방법 1. Markup을 직접 write하는 방법 2. Control의 Export를 활용하는 방법 - 3rd party tool 등을 이용하여, 간접적으로 구현하는 방식 3. Office ref - office dll을 reference로 잡아서 개발하는 방식 4. Office Open Xml - Xml형태로 word, excel, powerpoint를 다룸 OpenXml SDK 선택의 당위성 다른 선택지와 명확하게 차별되는 요소를 정리하면 다음과 같습니다. Fully support 이를 테면 다음과 같은 output을 만들 수 있습니다. Elegant code As-issbResult.Append(""); sbResult.Append(""); foreach (Data.. 더보기
XML Element vs. Attribute Meta-data 저장을 위한 검토 중, 흥미로운 글을 찾아 소개해 드립니다. XML은 Element와 Attribute요소로 구성되어 있고, data는 어떤 형태로든 저장할 수 있습니다.(이것이 best practice를 찾는데 혼란을 가져오는 요소입니다.)W3school에서는 data인 경우에는 element로 저장할 것을 권장하고 있으며, 다음의 이유를 들고 있습니다. Attribute를 피해야 하는 이유- Multiple values를 포함할 수 없다.- 쉽게 확장할 수 없다.- Structure를 표현할 수 없다.- 개발하기 어렵다.(번거롭다 정도로 해석할 수 있을 듯 합니다.)- DTD에 대해서 테스트하기 어렵다. 예외적으로 Attribute를 사용하는 경우- ID의 경우 ConclusionM.. 더보기