2012-09-27 3 views

답변

2

이 작동합니다 .. 저를 도와 줄 수 :

using Excel = Microsoft.Office.Interop.Excel; 
using System.Runtime.InteropServices; 

var rows = dataGridView1.Rows.Count; 
var columns = dataGridView1.Columns.Count; 

var dataAsObjectArray = new object[rows,columns]; 

for (int i = 0; i < rows; i++) 
{ 
    for (int j = 0; j < columns; j++) 
    { 
     dataAsObjectArray[i, j] = dataGridView1.Rows[i].Cells[j]; 
    } 
} 

Excel.Application application = new Excel.Application(); 
Excel.Workbook workbook = application.Workbooks.Add(); 
Excel.Worksheet worksheet = workbook.Sheets[1]; 

Excel.Range range = worksheet.Range[rows, columns]; 
range.Value = dataAsObjectArray; 

workbook.SaveAs(@"C:\whatever.xlsx"); 
workbook.Close(); 

Marshal.ReleaseComObject(application); 
+1

+1 왜 이것이 이것이 받아 들일 수없는 대답인지는 알 수 없습니다. – Fionnuala

0

당신은 또한 읽고 열기를 사용하여 엑셀에게 2007/2010 파일을 쓸 수있는 오픈 소스 .NET 라이브러리입니다 EPPlus 을 확인해야합니다 Office Xml 형식. 그러나 .xls 파일을 읽거나 쓸 수는 없습니다. 여전히 Microsoft.Office.Interop.Excel보다 더 선호합니다.

관련 문제