导出EXCEL

来源:互联网 发布:如何注册域名 虚拟主机 编辑:程序博客网 时间:2024/06/05 20:47

private void tbExportExcel_Click(object sender, EventArgs e)
        {
            try
            {

                SaveFileDialog saveFileDialog = new SaveFileDialog();
                saveFileDialog.Filter = "Execl   files   (*.xls)|*.xls";
                saveFileDialog.FilterIndex = 0;
                saveFileDialog.RestoreDirectory = true;
                saveFileDialog.CreatePrompt = true;
                saveFileDialog.Title = "导出Excel文件到";
                saveFileDialog.FileName = "*.xls";

                if (saveFileDialog.ShowDialog() == DialogResult.Cancel)
                {
                    return;
                }
               

                Stream myStream;
                myStream = saveFileDialog.OpenFile();
                StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding("gb2312"));
                string str = "";

                //写标题    
                for (int i = 0; i < dataGridView1.ColumnCount; i++)
                {
                    if (dataGridView1.Columns[i].Visible == true)
                    {

                        str += dataGridView1.Columns[i].HeaderText + "\t";
                    }
                }

                sw.WriteLine(str);
                //写内容  
                for (int j = 0; j < dataGridView1.Rows.Count; j++)
                {
                    string tempStr = "";
                    for (int k = 0; k < dataGridView1.Columns.Count; k++)
                    {
                        if (dataGridView1.Rows[j].Cells[k].Visible == true)
                        {

                            string value = "";
                            if (dataGridView1.Rows[j].Cells[k].Value != null)
                            {
                                value = dataGridView1.Rows[j].Cells[k].Value.ToString() + "\t";
                            }

                            tempStr += value;
                        }
                    }
                    sw.WriteLine(tempStr);
                }
                sw.Close();
                myStream.Close();
                MessageBox.Show("导出成功");
            }
            catch (Exception ex)
            {
                throw ex;
            }
    
        }