본문 바로가기 메뉴 바로가기

랑스티비

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

랑스티비

검색하기 폼
  • 분류 전체보기 (813)
    • 하랑이랑 (38)
      • 2015년 (8)
      • 2018년 (5)
      • 2019년 (14)
      • 랑스랑 그림 (11)
    • 이것저것 (716)
      • 말씀묵상 (673)
      • 티스토리 (14)
      • 컴퓨터-인터넷 (15)
      • 네이버TV (2)
      • 유튜브 (7)
    • SERVER (10)
      • LINUX (6)
      • Windows (4)
      • Oracle (0)
    • LANGUAGE (25)
      • JAVA (1)
      • Jquery (2)
      • Android (8)
      • Java Script (9)
      • C# (4)
      • Python (1)
    • DBMS (14)
      • MS-SQL (12)
      • MY-SQL (1)
    • TOOL (7)
  • 방명록

티스토리 뷰

LANGUAGE/C#

DataTable 정보를 엑셀로 저장하기

랑스티비 2019. 5. 30. 18:26

 

 


MSSQL GETDATE()  CONVERT 변환DataTable 정보를 엑셀로 저장하기

 

 



public bool SaveExcelData(string path, DataTable table, bool bTitle)
  {
   bool result = true;
   OleDbConnection conn = null;

   try
   {
    OleDbCommand cmmd = null;
    string connectString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"{0}\";Extended Properties=\"Excel 8.0;HDR=NO\"", path);
    conn = new OleDbConnection(connectString);
    conn.Open();



    // 테이블 생성
    StringBuilder sQryField = new StringBuilder();
    StringBuilder sQryValue = new StringBuilder();
    int cnt = 0;
    foreach (DataColumn column in table.Columns)
    {
     DataRow row = null;
     if (table.Rows.Count > 0) row = table.Rows[0];

     if (sQryField.Length > 0) sQryField.Append(",");
     sQryField.Append("[" + column.ColumnName.Replace("'", "''") + "] CHAR(255)");
    }
    cmmd = new OleDbCommand("CREATE TABLE Sheet1 (" + sQryField.ToString() + ")", conn);
    cmmd.ExecuteNonQuery();



    // 데이터 넣기
    for (int i = 0; i < table.Rows.Count; i++)
    {
     DataRow row = table.Rows[i];
     sQryField = new StringBuilder();
     sQryValue = new StringBuilder();
     cnt = 0;
     foreach (DataColumn column in table.Columns)
     {
      if (sQryField.Length > 0)
      {
       sQryField.Append(",");
       sQryValue.Append(",");
      }

      sQryField.Append("F" + (++cnt).ToString());
      sQryValue.Append("'" + row[column.ColumnName].ToString().Replace("'", "''") + "'");
     }

     cmmd = new OleDbCommand("INSERT INTO [Sheet1$] (" + sQryField.ToString() + ") VALUES(" + sQryValue.ToString() + ")", conn);
     cmmd.ExecuteNonQuery();
    }
   }
   catch (Exception)
   {
    result = false;
   }
   finally
   {
    if (conn != null) conn.Close();
   }

   return result;
  }

 

public bool SaveExcelData(string path, DataTable table, bool bTitle)
  {
   bool result = true;
   OleDbConnection conn = null;

   try
   {
    OleDbCommand cmmd = null;
    string connectString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"{0}\";Extended Properties=\"Excel 8.0;HDR=NO\"", path);
    conn = new OleDbConnection(connectString);
    conn.Open();



    // 테이블 생성
    StringBuilder sQryField = new StringBuilder();
    StringBuilder sQryValue = new StringBuilder();
    int cnt = 0;
    foreach (DataColumn column in table.Columns)
    {
     DataRow row = null;
     if (table.Rows.Count > 0) row = table.Rows[0];

     if (sQryField.Length > 0) sQryField.Append(",");
     sQryField.Append("[" + column.ColumnName.Replace("'", "''") + "] CHAR(255)");
    }
    cmmd = new OleDbCommand("CREATE TABLE Sheet1 (" + sQryField.ToString() + ")", conn);
    cmmd.ExecuteNonQuery();



    // 데이터 넣기
    for (int i = 0; i < table.Rows.Count; i++)
    {
     DataRow row = table.Rows[i];
     sQryField = new StringBuilder();
     sQryValue = new StringBuilder();
     cnt = 0;
     foreach (DataColumn column in table.Columns)
     {
      if (sQryField.Length > 0)
      {
       sQryField.Append(",");
       sQryValue.Append(",");
      }

      sQryField.Append("F" + (++cnt).ToString());
      sQryValue.Append("'" + row[column.ColumnName].ToString().Replace("'", "''") + "'");
     }

     cmmd = new OleDbCommand("INSERT INTO [Sheet1$] (" + sQryField.ToString() + ") VALUES(" + sQryValue.ToString() + ")", conn);
     cmmd.ExecuteNonQuery();
    }
   }
   catch (Exception)
   {
    result = false;
   }
   finally
   {
    if (conn != null) conn.Close();
   }

   return result;
  }
저작자표시 (새창열림)

'LANGUAGE > C#' 카테고리의 다른 글

.NET 소스 긁어오기 / .NET 소스 긁어오기 Fetch  (0) 2019.05.30
C# 다른 프로그램 실행여부 확인하기  (0) 2019.03.14
c# 응용프로그램에서 txt에 있는 파일 내용 가져와서 응용  (0) 2019.03.12
'LANGUAGE/C#' 카테고리의 다른글
  • .NET 소스 긁어오기 / .NET 소스 긁어오기 Fetch 2019.05.30
  • C# 다른 프로그램 실행여부 확인하기 2019.03.14
  • c# 응용프로그램에서 txt에 있는 파일 내용 가져와서 응용 2019.03.12
more
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • 네이버 TV - 랑스티비
  • 유튜브 - 랑스티비
  • 네이버 블로그 - 랑스티비
TAG
  • 김요셉
  • 로그파일 쪼개기
  • 논스톱 나이트 2
  • 키즈
  • nonstop knight 2
  • 스킨수정
  • trick art
  • 큰파일 나누기
  • 3D 그리기
  • 유튜브
  • 하랑이
  • 키즈카페
  • 트릭아트
  • 구글
  • 하랑
  • three-dimensional
  • 티스토리
  • 숲속 놀이터
  • 네이버tv
  • 그리기
  • 그림자 글자
  • 3d
  • 하랑이랑
  • 입체그림
  • 퍼즐
  • 켄싱턴플로라
  • 입체글자
  • 강원도
  • 입체글씨
  • 랑스티비
more
«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함

Blog is powered by 랑스티비 / Designed by 랑스티비

티스토리툴바