C#实现读写EXCEL数据—附实例导出DATAGRIDVIEW 数据到EXCEL
利用C#中的DATAGRIDVIEW 控件操作数据是很方便的 在使用的时候只需要将DATASET中数据导入就OK 了
在实际项目中需要用到的两个DATAGRIDVIEW 操作办法
第一就是导出数据至本地文件(一般为EXCEL )
第二个就是 打印数据
在实际项目中导出数据和打印数据 是非常重要的,因为往往领导都不操作你所开发的软件,他们往往是让员工上交打印的报表就可以了 反正我了解的一些国企单位是这样的, 所以说打印和导出漂亮的报表对你项目成功有很大的帮助
现在分享一个实习DATAGIRDVIEW 到EXCEL 的方法 ,供大家参考和学习使用, 实现打印的方法请查看
方法只需要传入一个DATAGRIDVIEW 参数就可以将数据导出到目的文件中
下载:
DataGridView.cs
- public void outExcel ( DataGridView gridView )
- {
- if ( gridView . Rows . Count == 0 )
- {
- MessageBox . Show ( " 没有数据可供导出! " , " 提示 " , MessageBoxButtons . OK , MessageBoxIcon . Information ) ;
- return ;
- }
- else
- {
- 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 ( " : " ) & lt ; 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 & lt ; this . dataGridView1 . ColumnCount ; i ++ )
- {
- if ( i & gt ; 0 )
- {
- columnTitle += " /t " ;
- }
- columnTitle += this . dataGridView1 . Columns [ i ] . HeaderText ;
- }
- sw . WriteLine ( columnTitle ) ;
- //写入列内容
- for ( int j = 0 ; j
- {
- string columnValue = "" ;
- for ( int k = 0 ; k & lt ; this . dataGridView1 . Columns . Count ; k ++ )
- {
- if ( k & gt ; 0 )
- {
- columnValue += " /t " ;
- }
- if ( this . dataGridView1 . Rows [ j ] . Cells [ k ] . Value == null )
- columnValue += "" ;
- else
- columnValue += this . dataGridView1 . 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 () ;
- }
- }
- }