티스토리 뷰

Programming/.Net

Excel C#연동

Rusi(루시) 2009. 11. 4. 15:11
반응형
public void CreateFile(ArrayList array, string saveFile)
        {
            //엑셀 겍체 생성
            ApplicationClass ExcelApp = null;
            try
            {
                //없는값 정의
                object missing = System.Reflection.Missing.Value;
                object fileName = saveFile;
                object newTemplate = false;
                object docType = 0;
                object isVisible = true;
                //엑셀 포맷 형식 지정
                object fileformat = XlFileFormat.xlExcel7;
                object readonlystr = false;

               
                ExcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
                //엑셀 프로그램 숨기기
                ExcelApp.Visible = false;

                //엑셀 파일 생성
                objBook = ExcelApp.Workbooks.Add(missing);
                //엑셀 파일의 sheet 지정
                objSheet = (Microsoft.Office.Interop.Excel.Worksheet)objBook.Sheets["Sheet1"];
                objSheet.Name = "Sheet1";

                objSheet.Cells[1, 1] = "이름";
                objSheet.Cells[1, 2] = "메모";
                objSheet.Cells[1, 3] = "시작 날짜";
                objSheet.Cells[1, 4] = "완료 날짜";
                objSheet.Cells[1, 5] = "개요 수준";



                for (int i = 0; i < array.Count; i++)
                {
                    MSProject.Task task = (MSProject.Task)array[i];

                    objSheet.Cells[i + 2, 1] = task.Name.ToString();
                    objSheet.Cells[i + 2, 2] = task.Notes.ToString();
                    objSheet.Cells[i + 2, 3] = task.Start.ToString();
                    objSheet.Cells[i + 2, 4] = task.Finish.ToString();
                    objSheet.Cells[i + 2, 5] = task.OutlineLevel.ToString();
                }
                //fileName로 지정한 이름으로 fileformat에서 지정한 포맷형식으로 엑셀 저장
                objBook.SaveAs(fileName, fileformat, missing, missing, false, missing, XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing);
                objBook.Close(false, fileName, missing);
                ExcelApp.Quit();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                ExcelApp.Quit();
            }           
        }
반응형
공지사항