【原】将datagridview里的数据导出到excel(二)

哥本哈根
private void ExportExcel(string fileName, DataGridView myDGV)
        {
if (myDGV.Rows.Count > 0)
            {
                SaveFileDialog saveFileDialog 
= new SaveFileDialog();
                saveFileDialog.DefaultExt 
= "xls";
                saveFileDialog.Filter 
= "EXCEL文件(*.XLS)|*.xls";
                saveFileDialog.FilterIndex 
= 0;
                saveFileDialog.FileName 
=fileName;
                saveFileDialog.RestoreDirectory 
= true;
                saveFileDialog.CreatePrompt 
= true;
                saveFileDialog.Title 
= "导出到EXCEL";
                saveFileDialog.ShowDialog();
                
if (saveFileDialog.FileName == "")
                    
return;
                Stream myStream;
                myStream 
= saveFileDialog.OpenFile();
                StreamWriter sw 
= new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
                
string str = "";
                
try
                {
                    
for (int i = 0; i < dataGridView1.ColumnCount; i++)
                    {
                        
if (i > 0)
                        {
                            str 
+= "\t";
                        }
                        str 
+= dataGridView1.Columns[i].HeaderText;
                    }
                    sw.WriteLine(str);
                    
for (int j = 0; j < dataGridView1.Rows.Count; j++)
                    {
                        
string tempStr = "";
                        
for (int k = 0; k < dataGridView1.Columns.Count; k++)
                        {
                            
if (k > 0)
                            {
                                tempStr 
+= "\t";
                            }
                            tempStr 
+= dataGridView1.Rows[j].Cells[k].Value.ToString();
                        }
                        sw.WriteLine(tempStr);
                    }
                    sw.Close();
                    myStream.Close();
                }
                
catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
                
finally
                {
                    sw.Close();
                    myStream.Close();
                }
            }
}

 

posted @ 2010-05-15 15:33  哥本哈根  阅读(219)  评论(0编辑  收藏  举报