{"id":461,"date":"2013-12-04T16:56:35","date_gmt":"2013-12-04T07:56:35","guid":{"rendered":"http:\/\/cromi.com\/?p=461"},"modified":"2013-12-05T16:39:07","modified_gmt":"2013-12-05T07:39:07","slug":"c-datagridview-%eb%82%b4%ec%9a%a9%ec%9d%84-excel%eb%a1%9c-%eb%b0%9b%ea%b8%b0","status":"publish","type":"post","link":"http:\/\/cromi.com\/?p=461","title":{"rendered":"C# DataGridView To  Excel"},"content":{"rendered":"<p>\uc708\ub3c4\uc6b0 \ud3fc\uc5d0\uc11c Excel\ub85c \ub370\uc774\ud130 \ubc1b\uc544 \ub0b4\uae30 \uc704\ud55c \uc18c\uc2a4 \uc785\ub2c8\ub2e4.<\/p>\n<p>Vs 2008 SP1 ,Net 3.5 p1 , Ms Office 2010 \u00a0, Windows 7 Pro x86 \ud658\uacbd \uc785\ub2c8\ub2e4<\/p>\n<p><span style=\"line-height: 1.714285714; font-size: 1rem;\">1. \uc194\ub8e8\uc158\ud0d0\uc0c9\uae30-&gt;\ucc38\uc870\ucd94\uac00-&gt;COM-&gt;Microsoft Excel 14.0 Object Libary \uc120\ud0dd \ud558\uc5ec \ucc38\uc870 \ucd94\uac00\u00a0<\/span><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-462\" style=\"font-size: 1rem; line-height: 1;\" alt=\"K-20131204-585051\" src=\"http:\/\/cromi.com\/wp-content\/uploads\/2013\/12\/K-20131204-585051.png\" width=\"929\" height=\"414\" srcset=\"http:\/\/cromi.com\/wp-content\/uploads\/2013\/12\/K-20131204-585051.png 929w, http:\/\/cromi.com\/wp-content\/uploads\/2013\/12\/K-20131204-585051-150x66.png 150w, http:\/\/cromi.com\/wp-content\/uploads\/2013\/12\/K-20131204-585051-300x133.png 300w, http:\/\/cromi.com\/wp-content\/uploads\/2013\/12\/K-20131204-585051-624x278.png 624w\" sizes=\"auto, (max-width: 929px) 100vw, 929px\" \/><\/p>\n<p>\ud3fc\uc5d0\uc11c\uc758 Data \ud655\uc778 \uc774\ub984 :\u00a0dataGridView1<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-463\" style=\"font-size: 1rem; line-height: 1;\" alt=\"K-20131204-597648\" src=\"http:\/\/cromi.com\/wp-content\/uploads\/2013\/12\/K-20131204-597648-e1386142647813.png\" width=\"272\" height=\"450\" srcset=\"http:\/\/cromi.com\/wp-content\/uploads\/2013\/12\/K-20131204-597648-e1386142647813.png 272w, http:\/\/cromi.com\/wp-content\/uploads\/2013\/12\/K-20131204-597648-e1386142647813-90x150.png 90w, http:\/\/cromi.com\/wp-content\/uploads\/2013\/12\/K-20131204-597648-e1386142647813-181x300.png 181w\" sizes=\"auto, (max-width: 272px) 100vw, 272px\" \/><\/p>\n<p>\ud3fc\uc5d0\uc11c button1 \uc744 \ub204\ub974\uba74 \ud574\ub2f9 \ub85c\uc9c1\uc744 \uc218\ud589\ud558\uac8c <\/p>\n<pre lang=\"csharp\">\r\n\r\nusing System.Reflection;\r\nusing Excel = Microsoft.Office.Interop.Excel;\r\n\r\n\r\nprivate void Button1_Click(object sender, EventArgs e)\r\n        {\r\n\r\n            this.saveFileDialog2.FileName = \"\uc800\uc7a5\ud560\ud30c\uc77c\uc774\ub984\";\r\n            this.saveFileDialog2.DefaultExt = \"xls\";\r\n            this.saveFileDialog2.Filter = \"Excel files (*.xls)|*.xls\";\r\n            this.saveFileDialog2.InitialDirectory = \"c:\\\\\";\r\n\r\n            DialogResult result = saveFileDialog2.ShowDialog();\r\n\r\n            if (result == DialogResult.OK)\r\n             {\r\n                int num = 0;\r\n                object missingType = Type.Missing;\r\n\r\n                Excel.Application objApp;\r\n                Excel._Workbook objBook;\r\n                Excel.Workbooks objBooks;\r\n                Excel.Sheets objSheets;\r\n                Excel._Worksheet objSheet;\r\n                Excel.Range range;\r\n\r\n                string[] headers = new string[dataGridView1.ColumnCount];   \r\n                string[] columns = new string[dataGridView1.ColumnCount];   \r\n\r\n                for (int c = 0; c < dataGridView1.ColumnCount; c++)\r\n                {\r\n                    headers[c]=dataGridView1.Rows[0].Cells[c].OwningColumn.HeaderText.ToString();\r\n                    num = c + 65;\r\n                    columns[c] = Convert.ToString((char)num);\r\n                }\r\n\r\n                try\r\n                {\r\n                    objApp = new Excel.Application();\r\n                    objBooks = objApp.Workbooks;\r\n                    objBook = objBooks.Add(Missing.Value);\r\n                    objSheets = objBook.Worksheets;\r\n                    objSheet = (Excel._Worksheet)objSheets.get_Item(1);\r\n                    \r\n                        for (int c = 0; c < dataGridView1.ColumnCount; c++)\r\n                        {\r\n                            range = objSheet.get_Range(columns[c] + \"1\", Missing.Value);\r\n                            range.set_Value(Missing.Value, headers[c]);\r\n                        }\r\n                    \r\n\r\n                    for (int i = 0; i < dataGridView1.RowCount - 1; i++)\r\n                    {\r\n                        for (int j = 0; j < dataGridView1.ColumnCount; j++)\r\n                        {\r\n                            range = objSheet.get_Range(columns[j] + Convert.ToString(i + 2),\r\n                                                                    Missing.Value);\r\n                            range.set_Value(Missing.Value,\r\n                                                   dataGridView1.Rows[i].Cells[j].Value.ToString());\r\n                        }\r\n                    }\r\n\r\n                    objApp.Visible = false;\r\n                    objApp.UserControl = false;\r\n\r\n                    objBook.SaveAs(@saveFileDialog2.FileName,\r\n                              Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal,\r\n                              missingType, missingType, missingType, missingType,\r\n                              Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,\r\n                              missingType, missingType, missingType, missingType, missingType);\r\n                    objBook.Close(false, missingType, missingType);\r\n\r\n                    \/\/Cursor.Current = Cursors.Default;\r\n\r\n                    MessageBox.Show(\"Save Success!!!\");\r\n                }\r\n                    \r\n                catch (Exception theException)\r\n                {\r\n                    String errorMessage;\r\n                    errorMessage = \"Error: \";\r\n                    errorMessage = String.Concat(errorMessage, theException.Message);\r\n                    errorMessage = String.Concat(errorMessage, \" Line: \");\r\n                    errorMessage = String.Concat(errorMessage, theException.Source);\r\n\r\n                    MessageBox.Show(errorMessage, \"Error\");\r\n                }\r\n            }\r\n        } \r\n<\/pre>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>\uc708\ub3c4\uc6b0 \ud3fc\uc5d0\uc11c Excel\ub85c \ub370\uc774\ud130 \ubc1b\uc544 \ub0b4\uae30 \uc704\ud55c \uc18c\uc2a4 \uc785\ub2c8\ub2e4. Vs 2008 SP1 ,Net 3.5 p1 , Ms Office 2010 \u00a0, Windows 7 Pro x86 \ud658\uacbd \uc785\ub2c8\ub2e4 1. \uc194\ub8e8\uc158\ud0d0\uc0c9\uae30-&gt;\ucc38\uc870\ucd94\uac00-&gt;COM-&gt;Microsoft Excel 14.0 Object Libary \uc120\ud0dd \ud558\uc5ec \ucc38\uc870 \ucd94\uac00\u00a0 \ud3fc\uc5d0\uc11c\uc758 Data \ud655\uc778 \uc774\ub984 :\u00a0dataGridView1 \ud3fc\uc5d0\uc11c button1 \uc744 \ub204\ub974\uba74 \ud574\ub2f9 \ub85c\uc9c1\uc744 \uc218\ud589\ud558\uac8c using System.Reflection; using Excel = Microsoft.Office.Interop.Excel; private [&hellip;]<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[16,54,148,174,173,53],"class_list":["post-461","post","type-post","status-publish","format-standard","hentry","category-vs2008","tag-c","tag-c-2008","tag-c-datagirdview","tag-c-datagirdview-excel","tag-c-excel","tag-vs2008-2"],"_links":{"self":[{"href":"http:\/\/cromi.com\/index.php?rest_route=\/wp\/v2\/posts\/461","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/cromi.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/cromi.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/cromi.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/cromi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=461"}],"version-history":[{"count":5,"href":"http:\/\/cromi.com\/index.php?rest_route=\/wp\/v2\/posts\/461\/revisions"}],"predecessor-version":[{"id":468,"href":"http:\/\/cromi.com\/index.php?rest_route=\/wp\/v2\/posts\/461\/revisions\/468"}],"wp:attachment":[{"href":"http:\/\/cromi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=461"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/cromi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=461"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/cromi.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}