胖在一方

出得厅堂入得厨房的胖子

导航

大量数据的excel导出

Posted on 2007-03-23 09:45  胖在一方  阅读(469)  评论(0)    收藏  举报
这个是ExcelClass.cs中的一个方法,记录下来
/// <summary>
        
///  将DataTable中的数据全部的导入到excel文件中去,导入的顺序是按照DataTable的Column的顺序来决定的
        
/// </summary>

        
/// <param name="dt">需要导入数据的DataTable</param>
        
/// <param name="startCell">导入数据开始的单元格</param>
        public void ImportData(System.Data.DataTable dt,string startCell)
        {
            
//利用StringBuilder进行数据的缓冲

            StringBuilder strBuffer = new StringBuilder();
            
//循环数据,把字符串进行缓冲,存放到StringBuilder中

            forint iRow=0; iRow<dt.Rows.Count; iRow++ )
            {
                
forint iCol=0; iCol<dt.Columns.Count; iCol++
 )
                {       
                    strBuffer.Append(dt.Rows[iRow][iCol].ToString());
                    
if( iCol < dt.Columns.Count - 1
 )
                        strBuffer.Append(
"\t"
);
                }
                strBuffer.Append( 
"\n"
);
            }
            
//先清空剪贴板的内容

            Clipboard.SetDataObject("",false);
            
//往剪贴板中写入内容

            Clipboard.SetDataObject(strBuffer.ToString());
            
//得到excel开始Cell的焦点

            Range sRange =GetRange(startCell);
            sRange.Select();
            
//往excel中写数据

            exlWorkSheet.Paste(Missing.Value ,Missing.Value);
            
//清空剪贴板的内容

            Clipboard.SetDataObject("",false);
            
//释放sRange对象

            System.Runtime.InteropServices.Marshal.ReleaseComObject(sRange);
            sRange
=null
;
        }