winform 엑셀 저장(초고속) 클립보드 캡쳐방식입니다



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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[11];
            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, nullnullfalsefalse,
                Excel.XlSaveAsAccessMode.xlShared, falsefalsenullnullnull);
            }
            else
            {
                xlWorkBook.SaveAs(path, Excel.XlFileFormat.xlWorkbookNormal, nullnullfalsefalse,
                Excel.XlSaveAsAccessMode.xlShared, falsefalsenullnullnull);
            }
 
            dataGridView1.ClearSelection();
            xlexcel.Quit();
 
            releaseObject(CR);
            releaseObject(xlWorkSheet);
            releaseObject(xlWorkBook);
            releaseObject(xlexcel);
            MessageBox.Show("저장완료");
        }
cs


'Winform' 카테고리의 다른 글

winform 각 행의 색표시  (0) 2019.01.30
winform 차트 예제  (0) 2019.01.30
winform 엑셀 죽이기 완벽한 방법  (0) 2019.01.29
winform DataGridView to Excel  (0) 2019.01.22
winform 엑셀 import  (0) 2019.01.17

+ Recent posts