private void Export_Excel(string path) //savefildialog.filename
{
//xls는 65536, xlsx는 1048575
dataGridView1.MultiSelect = true;
dataGridView1.RowHeadersVisible = false;
dataGridView1.AllowUserToAddRows = false;
dataGridView1.SelectAll();
DataObject dataObj = dataGridView1.GetClipboardContent();
if (dataObj != null)
{
Clipboard.SetDataObject(dataObj);
}
Excel.Application xlexcel;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = Missing.Value;
xlexcel = new Excel.Application();
xlexcel.Visible = false;
xlWorkBook = xlexcel.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
Excel.Range CR = (Excel.Range)xlWorkSheet.Cells[1, 1];
CR.Select();
xlWorkSheet.PasteSpecial(CR, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, true);
dataGridView1.MultiSelect = false;
if (path.Contains(".xlsx"))
{
xlWorkBook.SaveAs(path, Excel.XlFileFormat.xlWorkbookDefault, null, null, false, false,
Excel.XlSaveAsAccessMode.xlShared, false, false, null, null, null);
}
else
{
xlWorkBook.SaveAs(path, Excel.XlFileFormat.xlWorkbookNormal, null, null, false, false,
Excel.XlSaveAsAccessMode.xlShared, false, false, null, null, null);
}
dataGridView1.ClearSelection();
xlexcel.Quit();
releaseObject(CR);
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlexcel);
MessageBox.Show("저장완료");
}