datagridview导出Excel(以流的方式)

  private   void  ExportToExcel()
        {
            SaveFileDialog saveFileDialog 
=   new  SaveFileDialog();
            saveFileDialog.Filter 
=   " Execl files (*.xls)|*.xls " ;
            saveFileDialog.FilterIndex 
=   0 ;
            saveFileDialog.RestoreDirectory 
=   true ;
            saveFileDialog.CreatePrompt 
=   true ;
            saveFileDialog.Title 
=   " 保存为Excel文件 " ;
            saveFileDialog.ShowDialog();

            
if  (saveFileDialog.FileName.IndexOf( " : " <   0 return // 被点了"取消"

            Stream myStream;
            myStream 
=  saveFileDialog.OpenFile();
            StreamWriter sw 
=   new  StreamWriter(myStream, System.Text.Encoding.GetEncoding( - 0 ));
            
string  columnTitle  =   "" ;
            
try
            {
                
// 写入列标题
                 for  ( int  i  =   0 ; i  <  dgvGF_IN_INFO.ColumnCount; i ++ )
                {
                    
if  (i  >   0 )
                    {
                        columnTitle 
+=   " \t " ;
                    }
                    columnTitle 
+=  dgvGF_IN_INFO.Columns[i].HeaderText;
                }
                sw.WriteLine(columnTitle);

                
// 写入列内容
                 for  ( int  j  =   0 ; j  <  dgvGF_IN_INFO.Rows.Count; j ++ )
                {
                    
string  columnValue  =   "" ;
                    
for  ( int  k  =   0 ; k  <  dgvGF_IN_INFO.Columns.Count; k ++ )
                    {
                        
if  (k  >   0 )
                        {
                            columnValue 
+=   " \t " ;
                        }
                        
if  (dgvGF_IN_INFO.Rows[j].Cells[k].Value  ==   null )
                            columnValue 
+=   "" ;
                        
else
                            columnValue 
+=  dgvGF_IN_INFO.Rows[j].Cells[k].Value.ToString().Trim();
                    }
                    sw.WriteLine(columnValue);
                }
                sw.Close();
                myStream.Close();
            }
            
catch  (Exception e)
            {
                MessageBox.Show(e.ToString());
            }
            
finally
            {
                sw.Close();
                myStream.Close();
            }
        }

你可能感兴趣的:(datagridview)