1. 程式人生 > >將dataGridView中的資料匯出到Excel中

將dataGridView中的資料匯出到Excel中


//需要引用Microsoft.Office.Excel的資料集

            Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
            excel.Application.Workbooks.Add(true);
            //輸出列名
            for (int i = 0; i < dataGridView1.ColumnCount; i++)
            {
                excel.Cells[1, i + 1] = dataGridView1.Columns[i].HeaderText;
            }
            //對每一列賦值
            for (int i = 0; i < dataGridView1.RowCount-1; i++)
            {
                for (int j = 0; j < dataGridView1.ColumnCount; j++)
                {
                    if (dataGridView1[j, i].ValueType == typeof(string))
                    {
                        //excel的列是從1開始
                        excel.Cells[i + 2, j +1] = "'" + dataGridView1.Rows[i].Cells[j].Value.ToString();
                    }
                    else
                    {
                         excel.Cells[i + 2, j +1] = dataGridView1.Rows[i].Cells[j].Value.ToString();
                    }
                }
            }
            //設定禁止彈出儲存和覆蓋的詢問提示框  
            excel.Visible = false;
            excel.DisplayAlerts = false;
            excel.AlertBeforeOverwriting = false;


            //儲存到臨時工作簿
            //excel.Application.Workbooks.Add(true).Save();
            //儲存檔案
            try
            {
                excel.Save("E:");
                excel.Quit();
                MessageBox.Show("檔案匯出成功", "完成", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }