将数据控件的值导出Excel?

解决方案 »

  1.   

     public void myDataGridViewToExcel(DataGridView dgv)//从DataGridView导出到excel
            {
                SaveFileDialog saveFileDialog = new SaveFileDialog();
                saveFileDialog.Filter = "Execl文件 (*.xls)|*.xls";
                saveFileDialog.FilterIndex = 0;
                saveFileDialog.RestoreDirectory = true;
                //为true时每次都是从软件目录开始选择
                saveFileDialog.Title = "导出到";
                if (saveFileDialog.ShowDialog() == DialogResult.OK)
                {
                    Stream myStream;
                    myStream = saveFileDialog.OpenFile();
                    //应该不会是编码的问题,全部我都试过了
                    StreamWriter sw = new StreamWriter(myStream, UnicodeEncoding.Default);
                    //StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding("gb2312"));
                    string str = "";
                    try
                    {
                        //这个循环写标题
                        for (int i = 0; i < dgv.ColumnCount; i++)
                        {
                            if (i > 0)
                            {
                                str += "\t";
                            }
                            str += dgv.Columns[i].HeaderText;
                        }
                        sw.WriteLine(str);
                        string tempStr = "";
                        for (int j = 0; j < dgv.Rows.Count - 1; j++)
                        {
                            //string tempStr = "";
                            for (int k = 0; k < dgv.Columns.Count; k++)
                            {
                                //这里首先把整行读出来再写进去
                                if (dgv.Rows[j].Cells[k].Value.ToString() == "")//判断是否为空
                                {
                                    tempStr += "    ";
                                }
                                else
                                {
                                    tempStr = dgv.Rows[j].Cells[k].Value.ToString();
                                }
                                sw.Write(tempStr);
                                sw.Write("\t");
                                tempStr = "";
                            }
                            sw.WriteLine();
                        }
                        MessageBox.Show("数据导出成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch (Exception e)
                    {
                        MessageBox.Show(e.ToString());
                    }
                    finally
                    {
                        sw.Close();
                        myStream.Close();
                    }
                }
            }
      

  2.   

    SaveFileDialog saveFileDialog = new SaveFileDialog();
    这个需要导什么包?
    谢谢
      

  3.   

    如果是将Excel文件导入到数据库怎么办?
      

  4.   

    excel自带了导入数据库的功能吧。印象当中,可以鼠标操作就可以了。
    如果是excel里的数据导入界面,form app,网上应该很多。楼上那位写的就很好:)