2012-07-30 4 views
2

Excel 파일에 C# Window 양식 응용 프로그램을 사용하여 일부 데이터를 추가하고 있습니다. 그러나 프로그램을 실행 한 후 Excel 파일을 열려면 Window 양식을 닫아야합니다. 그렇지 않으면 데이터를 추가 한 Excel 파일뿐만 아니라 Excel 파일도 열 수 없습니다. 내가 창 양식 응용 프로그램을 닫지 않고 Excel 파일을 열려고 시도했을 때 모든 데이터와 셀 (빈 화면)이 표시되지 않았습니다.프로그램 실행 후 Excel 파일을 열 수 없습니다.

필자는 Excel 개체를보기 위해 필자의 appilcation을 닫아야합니다. 필자도 COM 개체를 릴리스하기위한 코드를 작성했습니다.

 workbook = appExl.Workbooks.Open(Excel_file, 0,false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false); 
     workbook.Save();    
     System.Runtime.InteropServices.Marshal.ReleaseComObject(ShtRange); 
     System.Runtime.InteropServices.Marshal.ReleaseComObject(NwSheet);   
     workbook.Close(true, Missing.Value, Missing.Value); 
     System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook); 
     appExl.Quit(); 
     System.Runtime.InteropServices.Marshal.ReleaseComObject(appExl); 

그래서 실행 후 응용 프로그램을 닫지 않고 Excel 파일을 여는 방법을 알려주십시오.

+0

Excel 2007 이상에서 작업하는 경우 Open XML SDK를 사용하여이 COM 항목을 모두 피할 수 있습니다. – Luxspes

+0

내 링크에서 [C# excel] (http : /www.codep Interop.Excel을 사용하여 roject.com/Articles/198572/Summarize-C-Control-Excel-Skills). 그러나 Open XML을 사용하여 시험 사용을 권장합니다. –

답변

0

다음은 C#을 사용하여 Excel 시트에 쓰고 멋지게 작성하는 샘플 코드입니다. 다음 표에서는을 사용하여 Microsoft.Office.Interop.Excel; Excel을 사용하는 = Microsoft.Office.Interop.Excel; 이 밖으로

Excel.Application XlApp = null; 
     Excel.Workbook workbook = null; 
     Excel.Worksheet Ws = null; 
     Excel.Range Range1 = null; 
     Excel.Worksheet X = null; 

     XlApp = new Excel.Application(); 
     XlApp.Visible = true; 
     workbook = XlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet); 
     Ws = (Excel.Worksheet)workbook.Worksheets[1]; 
     XlApp.WindowState = XlWindowState.xlMaximized; 


       Ws = (Excel.Worksheet)workbook.Worksheets[1]; 

       Ws.Activate(); 
       Ws.Name = "MyFirstSheet"; 



       int rowIndex = 1; int columnIndex = 2; 
       xlApp.Cells(rowIndex, columnIndex) = "Blah" 
+0

이미 존재하는 Excel 파일에 데이터를 추가하고 싶습니다. 위의 코드도 해당 기능을 수행합니까? – arun

+0

OP 문제는 통합 문서를 닫은 후에도 Excel 파일을 열어 놓은 응용 프로그램에 관한 것입니다. 아마도 Excel 문서에서 찾아 볼 수있는 코드를 포함시켜야 할 것입니다. –

0

사용하여이 먼저

  Missing _value = Missing.Value; 
      string strtemp = "C:\\MyExcel.xls"; 
      Microsoft.Office.Interop.Excel.Workbook Wtemp = XlApp.Workbooks.Open(strtemp, _value, _value, _value, _value, _value, _value, _value, _value, _value, _value, _value, _value, _value, _value); 
Wtemp = xlApp.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet); 

에 데이터를 원하는만큼 기존 파일 (XLS) 여기에 워크 시트를 추가 그 때는를 열고 쓰기 그런 시도

확인 위의 함수를 사용하여 데이터를 쓸 수 있습니다 ...

관련 문제