반응형 C#·IIS [C#]서버로 업로드 한 엑셀 파일을 액세스 데이터베이스 엔진으로 읽어서 처리하기 0 2021. 11. 2. C#으로 엑셀 파일(xlsx)을 읽어서 처리하기 위해서는 서버에 "Microsoft Access Database Engine 2010" 재배포 가능 패키지 설치가 필요합니다. https://www.microsoft.com/ko-kr/download/details.aspx?id=13255 Download Microsoft Access Database Engine 2010 재배포 가능 패키지 from Official Microsoft Download Center 중요! 아래에서 언어를 선택하면 전체 페이지 내용이 해당 언어로 신속하게 변경됩니다. 독일어스페인어영어이탈리아어일본어중국어(간체)중국어(번체)프랑스어한국어 다운로드 이 다운로드 www.microsoft.com 예제 코드들은 레이저(Razor) C# .. [C#] SMTP 서비스를 이용해 이메일 발송하기 0 2021. 9. 25. 닷넷 환경에서의 이메일 발송은 MailMessage 클래스를 사용합니다. 따라서 System.Net.Mail 네임 스페이스를 필요로 합니다. 코드에 포함시켜야 합니다. 기본 코드는 다음과 같습니다. 로컬 SMTP 서버를 이용해 메일 발송하기 using System.Net.Mail try { MailMessage message = new MailMessage(); message.From = new MailAddress("발송자이름" + ""); message.To.Add("emailaddress@sender.com"); message.To.Add("emailaddress@sendor.co.kr"); string subject = "메일발송 테스트"; message.Subject = subject; mess.. 엑셀 임포트시 셀 타입을 미리 판단하지 않도록 하는 방법 0 2021. 9. 11. 윈도우 서버 환경에서 실행되는 웹 사이트에서 엑셀 파일을 가져와 데이터를 사용할 때, "일반" 타입 셀의 데이터 타입을 그냥 가져와 사용할 수 없기 때문에 데이터 타입을 강제로 정해야 합니다. 엑셀의 "일반" 데이터 타입이라는 것이 데이터베이스나 C#에는 없기 때문에 정해진 기준에 따라 사용 가능한 데이터 타입으로 변경을 해야 하는데, 이때 빠른 데이터 타입 판단을 위해 엑셀의 첫 8행만 먼저 읽어서 데이터 타입을 판단합니다. 기본 설정입니다. 실제로 첫 8행으로는 데이터 타입을 판단하기에는 부족하지만, 전체 행을 다 스캔하면 시간이 너무 오래 걸리기 때문에 그렇습니다. 경우에 따라서는 데이터 타입을 첫 8행만으로 미리 추정하지 않도록 막아야 할 필요가 있습니다. 첫 8행만 읽어서 판단하다보니 엑셀 파일.. 원격사이트에서 컨텐츠를 가져갈 수 있도록 IIS 에 CORS 모듈 설정하기 5 2020. 2. 25. 얼마전부터 웹브라우저들이 보안 정책을 강화하면서 원격 사이트에서 컨텐츠를 가져다 아이프레임을 파서 보여주거나, 자바스크립트로 다른 사이트의 컨텐츠를 가져다 보여주는 방식에 문제가 생기고 있습니다. 웹브라우저들이 버전업 되면서 보안 정책 강화 및 CORS(Cross-Origin Resource Sharing)룰이 강화되고 있고, 허용하지 않은 컨텐츠를 임의로 끌어다 보여주는 것이 더 이상 어렵게 되었습니다. 예를 들어 전에는 택배사 사이트에서 원격으로 배송 정보를 가져와 보여주는 것에 별다른 제약이 없었는데, 웹브라우저가 버전되면서 일부 택배사 사이트의 CORS 설정이 제대로 적용되면서 내 웹사이트 안에 배송 정보를 아이프레임이나 AJAX로 가져와 보여주는 것이 더이상 허용되지 않는다거나 하는 경우가 생기.. 내 윈도우 PC에서 실행중인 로컬 웹서버에 도메인/호스트명을 연결하기 2 2020. 2. 24. 내 PC에 설치된 웹서버는 기본적으로 "localhost", 또는 "127.0.0.1" 과 같은 로컬호스트 IP로 접근이 가능합니다.물론 웹서버에 기본 구성되는 기본 웹사이트에 로컬호스트에 대한 접근 설정이 기본적으로 되어있기 때문입니다.웹서버 설정에서 로컬호스트 접근 설정을 지우면 "localhost", 또는 "127.0.0.1"로 접근할 수 없습니다. 설치한 웹서버(IIS, 아파치, NGINX 등)에 여러개의 웹사이트를 구성할 경우 이 웹사이트를 구분해서 접근할 필요가 있게 됩니다. 가장 기초적인 방법은 각 웹사이트에 접근 포트를 다르게해서 접근하도록 하는 것입니다. 예를 들어 웹사이트 A, B, C 3개를 웹서버에 구성해 올렸을 경우웹사이트 A는 80포트, 웹사이트 B는 81포트, 웹사이트 C는 8.. utf-8 서비스에서 euc-kr 서비스로 소켓, 웹클라이언트 통신하기 0 2020. 2. 13. 최근에는 euc-kr로 서비스를 구축하는 사례가 드물기 때문에 euc-kr 서비스와 상호 통신을 하거나 데이터를 주고 받을일이 거의 없습니다.레거시 서비스라고 할 수도 있는 euc-kr 서비스와 통신을 해야할 경우 경험이 없으면 끊임없이 특수문자로 깨져보이는 반환값과 끊임없이 사투를 벌여야 합니다. 구형인 PG서비스나, API 서비스가 주로 해당되지만, euc-kr 외에 타 언어도 같은 방법으로 처리가 가능합니다. 1. utf-8 서비스에서 euc-kr 서비스로 데이터 보내기 기 때문에 euc-kr 서비스와 상호 통신을 하거나 데이터를 주고 받을일이 거의 없습니다. 레거시 서비스라고 할 수도 있는 이 서비스와 통신을 해야할 경우 경험이 없으면 끊임없이 특수문자로 깨져보이는 반환값과 끊임없이 사투를 벌여야.. C# 엑셀 확장자별로 OLEDB 연결 설정을 구분해 엑셀 데이터 읽기 0 2019. 12. 3. 엑셀 파일 포맷별로 OLEDBConnectiion으로 임포트해서 가져오는 코드입니다.실제 사용중인 코드이고, 파일 포맷별로 대응되도록 만든 코드입니다. Microsoft Access Database Engine 2010 재배포 가능 패키지 는 사전에 설치해야 합니다. 엑셀 임포트 설정시 OLEDB는 읽어들이는 데이터의 타입을 추정해서 정하게 됩니다.최초 8줄을 읽어서 해당 타입으로 추정하거나, 우선 타입을 사용하도록 하거나 하는식으로 지정합니다. 해당 값들은 모두 레지스트리에 설정 값이 지정되어 있으며, 이 값들을 변경해 OLEDB로 엑셀 임포트를 할 때 임의로 타입을 지정해 사용하지 않도록 막을 수 있습니다. 1. 최초 8행을 읽어서 임포트하는 컬럼의 타입을 추정하지 않도록 하려면 다른 글을 참조하시기.. 반응형 이전 1 다음