본문 바로가기

.net

reading Excel Open XML is ignoring blank cells OpenXml을 이용하여 엑셀 파일의 빈 셀 읽기 OpenXml을 이용하면 처음으로 부딪치게 되는 문제가 바로 빈 셀입니다. 저는 이 문제를 DataTable을 이용하여 해결하였습니다. 첫 번째 Row가 제목 열이라 생각하고 첫 번째의 Row 정보를 DataTable의 컬럼으로 만들고, Data에 해당하는 Row를 DataTable에 입력하는 형태로 진행하였습니다. DataTable에 입력하는 방식은 CellType.CellReference의 값을 읽어서 처리하는 형태입니다. 아래는 전체 코드입니다. using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using Sys.. 더보기
Reading dates from OpenXml Excel files OpenXml을 이용하여 엑셀 파일의 날짜 필드(셀) 값 읽어 오기 엑셀에서 2011-05-12 와 같이 날짜를 입력하게 되면, 해당 셀은 날짜형 포멧으로 변경되게 됩니다. 이를 OpenXml을 이용하여 읽는 방법은 아래와 같습니다. 먼저 해당 Excel 파일을 압출 해제 하고 Xml을 확인하게 되면 Sheet1.xml 상에서는 아래와 같이 입력되어 있습니다. 40310 일반 텍스트의 경우 와 같은 형태로 되어 있으나 날짜 형의 경우는 S=”1” S로 시작하게 됩니다. 값이 40310 이라는 UInt32Value의 형태로 입력되게 됩니다. 변경하는 방법은 C#에서 아래와 같이하면 됩니다. string strDate = String.Empty; DateTime cellDate = DateTime.FromO.. 더보기
Text & Image Watermark with C# (이미지 워터마크 만들기) C#으로다가 이미지, 혹은 텍스트 워터마크 만들기 파일 다이알 로그로다가 워터 마크 이미지 받아서. 클립보드에 들어 있는 이미지에 워터 마크 삽입.. 항상 컴퓨터에 상주시켜 놓고 복사할때마다 워터마크 자동으로 넣어주는 프로그램을 만들고 싶으나. 귀찮아서 패스~ ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 아~ 개으름뱅이 try { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "Images (*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG"; ofd.Multiselect = false; ofd.RestoreDirectory = true; ofd.CheckFileExists = true; ofd.CheckPathExists = t.. 더보기
ASP.NET Treeview Control의 Line 디자인 깨짐 방지 asp.net을 이용하여 web page 작성 시. treeview control을 이용하는 경우가 많이 있습니다. 헌데 이놈의 라인이.. 깨지는 현상이 발생 됩니다. 오늘은 그 수정 방안을 알아보고자 합니다. 현상은 아래와 같습니다. Code는 아래와 같습니다. Tree.aspx (class 설정을 다음과 같이 합니다. CssClass="treestyle") style 추가로 해당 현상을 수정할 수 있습니다. Tree.aspx 적용 후 모습입니다. Internet Explorer 8 호환성 보기 모드 FireFox 3.6 이렇게 모든 브라우저에서 잘 되는 것을 확인 할 수 있습니다. IE 6에서는 원래 잘나오더군요 *_* 감사합니다. 더보기
NotifyIcon SystemTrayIcon(트레이 아이콘 생성 방법) WPF 라고 해서 뭔가 특별하거나. 윈도우 폼과 전혀 다르거나 하지 않다! 윈도우 응용프로그램의 NotifyIcon을 그대로 사용한다. 그래서 WPF에서는 System.Windows.Form.dll 을 참조 하고 해당 dll 내의 클레스를 사용하면 되는 것이다. 먼저 코드를 보면 먼가 이해가 더 빠를 것 같다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Inpu.. 더보기
FileInfo를 이용한 FileStream, StreamWrite, StreamReader 이용 FileInfo 를 이용해서 파일을 잡고 파일을 읽고, 쓰는 방법에 대해서 알아 보도록 하겠습니다. System.IO.FileInfo fi = new System.IO.FileInfo(@"C:\test.txt"); // 파일이 없다면 생성 if (!fi.Exists) fi.Create(); // OpenRead 파일을 읽을 때 // OpenWrite 파일을 생성해서 바로 쓸때(이전 데이타가 없다고 가정하고 쓰는 경우) 이전 데이타가 있으면 그 내용은 그대로 존재 // Open(System.IO.FileMode.Create) FileStream 형태를 직접 제어 하는 경우 아래와 같은 경우에는 무조건 새로 쓰는 경우 //using (System.IO.FileStream fs = fi.OpenRead()) .. 더보기
Visual Studio 2005 .NET Framework Source 확인 System.Text.dll 과 같은 시스템 dll 디버깅 방법을 소개해 드리도록 하겠습니다. vs 2005 debugging 방법을 이번 포스트에서 소개 해 드리고 다음번에 2008 방법을 소개해 드리도록 하겠습니다. 사용해 본 결과 vs 2005는 까다롭고 *_*;; vs 2008은 엄청나게 쉽습니다. *_*;; Google Search 결과 CodePlex에서 NetMassDownloader 라는 프로젝트로 진행되어서 있더군요 *_*;; 영어가 짧아서 자세한 건 잘 모르지만서도 *_*; 여기에서 아래와 같은 방법으로 vs 2005, 2008을 동일하게 작업 하실 수 있습니다. http://netmassdownloader.codeplex.com/ 저는 Feature Release 1.5.0.1 이놈을.. 더보기
Create Windows Service In C# C#을 이용한 Windows Service 를 만들어 보도록 하겠습니다. 먼저 프로젝트 추가 프로젝트를 생성하게 되면 Program.cs, Service1.cs 파일이 생성됩니다. Program.cs 에서는 최초 Serivce 될 Class를 실행 시키는 코드가 들어 있습니다. 즉, Service1.cs 파일을 삭제 한 후 새로운 파일의 ServiceBase 클래스 추가 시에는 Program.cs 에 실행 Class 명을 변경하여 주셔야 됩니다. using System.Collections.Generic; using System.ServiceProcess; using System.Text; namespace WindowsService2 { static class Program { /// /// 해당 응용.. 더보기