c# 데이터를 EXCEL로 가져오는 방법

c#회사의 응용급 개발을 할 때 데이터를 내보내는 것은 자주 하는 일이다. 회사에서 사용하는 것은 NPOI라는 구성 요소이다.구체적으로 무엇인지 나는 잘 모르겠지만, 어쨌든 이렇게 쓰면 된다.
구체적인 dll은 NPOI라고 합니다.HSSF.dll, 이 dll을 도입하고 이 dll은 HSSFWorkbook류 HSSFSheet류 HSSFRow류를 제공한다.
구체적인 실현 방식은 코드를 직접 보십시오.
 public static Stream DataSetToExcel(DataSet _SourceDt,string _sheetName)
        {
            HSSFWorkbook workbook = new HSSFWorkbook();
            MemoryStream MS = new MemoryStream();
            string [] sheetNames= _sheetName.Split(',');
            for(int i = 0; i <sheetNames.Length;i++)
            {
                HSSFSheet sheet = workbook.Cretesheet(sheetNames[i]);
                HSSFRow headRow = sheet.CreateRow(0);
                foreach(DataColumn column in _SourceDt.Table[i].cloumns)
                    headRow.createCell(column.Ordinal).SetCellValue(column.Column.Name);
                int rowIndex =1;
                foreach(DataRow row in _SourceDt.Tables[i].Rows)
                {
                    HSSFRow dataRow = sheet.CreateRow(rowIndex);
                    foreach(DataColumn column in _SourceDt.Tables[i].Columns)
                    {
                        dataRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString());
                    }
                    rowIndex++;
                }

            }

            workbook.write(MS);
            MS.Flush();
            MS.Position = 0;
            workbook = null;
            return MS;

        }

주로 데이터 출처의 DataSet을 구축해야 한다.그냥 코드로 갑시다.
            DataTable dt = new DataTable();
            DataSet  DataTemp = new DataSet();
            dt.Columns.Add("  1",string);
            dt.Columns.Add("  2",string );
            for(int i = 0;i<3;i++)
            {
                DataRow DR = dt.NewRow();
                DR["  1"] = "DATA1";
                DR["  2"] = "DATA1";
                dt.Rows.Add(DR);
            }

            DataTemp.Tables.Add(dt);

DATA1과 DATA2는 바로 네가 내보내야 할 데이터다.
이상은 개발한 원본 코드가 아니라 방법일 뿐입니다.참고만 제공;

좋은 웹페이지 즐겨찾기