2009年5月20日星期三

C# 由DataGridView导出到Excel

C#语言: 由dataGridView导出到Excelprivate void buttonToExcel_Click(object sender, EventArgs e)
{

    SaveFileDialog saveFileDialog = new SaveFileDialog();
    saveFileDialog.Filter = "Execl files (*.xls)|*.xls";
    saveFileDialog.FilterIndex = 0;
    saveFileDialog.RestoreDirectory = true;
    saveFileDialog.CreatePrompt = true;
    saveFileDialog.Title = "Export Excel File To";
    saveFileDialog.ShowDialog();
    Stream myStream;
    myStream = saveFileDialog.OpenFile();
    StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
    string str = "";
    try
    {
        //写标题
        for (int i = 0; i < this.dataGridView3.ColumnCount; i++)
        {
            if (i > 0)
            {
                str += "\t";
            }

            str += this.dataGridView3.Columns[i].HeaderText;
        }
        sw.WriteLine(str);
        //写内容
        for (int j = 0; j < this.dataGridView3.Rows.Count; j++)
        {
            string tempStr = "";
            for (int k = 0; k < this.dataGridView3.Columns.Count; k++)
            {
                if (k > 0)
                {
                    tempStr += "\t";
                }
                tempStr += this.dataGridView3.Rows[j].Cells[k].Value + "";
            }
            sw.WriteLine(tempStr);
        }

        sw.Close();
        myStream.Close();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.ToString());
    }

    finally
    {
        sw.Close();
        myStream.Close();
    }    
    MessageBox.Show("OK");
}

1 条评论: