2013-01-18 2 views
-2

저장 대화 상자를 사용하여 DataGridView를 Excel 문서로 내보내려고합니다. 누구든지 도와 줄 수 있습니까? (참고 : Excel 문서의 Grid에있는 열 이름을 원합니다.)DataGridView를 저장 대화 상자를 사용하여 Excel로 내보내기?

+3

질문이 전체 장 자습서가 될 수 있습니다. 정확히 무슨 문제가 있습니까? –

+0

웹 검색을 통해 사용 가능한 정확한 주제에 대한 많은 참고 자료가 있습니다. 시작할 수있는 좋은 곳은 http://www.codeproject.com/Tips/472706/Export-DataGridView-to-Excel입니다. – dash

답변

7

EPPlus에는 서버에 사무실 라이센스가 필요하지 않습니다.

private void btnExportToExcel_Click(object sender, EventArgs e) 
{ 
    var dia = new System.Windows.Forms.SaveFileDialog(); 
    dia.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); 
    dia.Filter = "Excel Worksheets (*.xlsx)|*.xlsx|xls file (*.xls)|*.xls|All files (*.*)|*.*"; 
    if(dia.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) 
    { 
     DataTable data = null;// use the DataSource of the DataGridView here 
     var excel = new OfficeOpenXml.ExcelPackage(); 
     var ws = excel.Workbook.Worksheets.Add("worksheet-name"); 
     // you can also use LoadFromCollection with an `IEnumerable<SomeType>` 
     ws.Cells["A1"].LoadFromDataTable(data, true, OfficeOpenXml.Table.TableStyles.Light1); 
     ws.Cells[ws.Dimension.Address.ToString()].AutoFitColumns(); 

     using(var file = File.Create(dia.FileName)) 
      excel.SaveAs(file); 
    } 
} 
관련 문제