//public bool Save2Excel (  )
        //{
        //    //有checknox列的,只导出那些被选择的行
        //    if ( _HaveSelectedCheckBox )
        //    {
        //        return GRID2EXCEL.SaveToExcel ( this , GetSelectCheckBoxLine () );
        //    }
        //    else
        //        return SaveAll2Excel ();
        //}

        public bool SaveAll2Excel ()
        {
            GRID2EXCEL Excel = new GRID2EXCEL ();
            return Excel.SaveToExcel ( this );
        }
        /// <summary>
        /// 表头行一并写在数据List中。一般写在第一行。
        /// </summary>
        /// <param name="HeadLineNo">第几行是表头,默认是第一行.行号从0开始。</param>
        /// <param name="lstDate"></param>
        /// <param name="strDefaultFile"></param>
        /// <returns></returns>
        public bool SaveList( int nHeadLineNo, List<List<string>> lstDate, string strDefaultFile)
        {
            GRID2EXCEL grid2Excel = new GRID2EXCEL();

            //定义表格内数据的行数和列数   
            int nRowsCount = lstDate.Count;

            #region 验证

            if (nHeadLineNo <= 0)
                nHeadLineNo = 1;
            else if (nHeadLineNo >= lstDate.Count)
                nHeadLineNo = 1;
            else
                nHeadLineNo++;

            int nMaxColCount = GetMaxColCount(lstDate);

            if (nRowsCount <= 0 || nMaxColCount <= 0)
            {
                MessageBox.Show("没有可以导出的数据!", "提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return false;
            }

            //行数不可以大于65536   
            if (nRowsCount > 65536)
            {
                MessageBox.Show("数据记录数太多(最多不能超过65536条),不能保存 ", "提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return false;
            }

            //列数不可以大于255   
            if (nMaxColCount > 255)
            {
                MessageBox.Show("数据记录行数太多,不能保存 ", "提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return false;
            }

            #endregion

            //获取输出Excel文件名   
            string strOutFileName = grid2Excel.GetExportFile(strDefaultFile);
            if (String.IsNullOrEmpty(strOutFileName))
                return false;

            try
            {
                OpenExcel();

                //设置Excel列表头
                int nHeadColCount = lstDate[nHeadLineNo - 1].Count;  //nHeadLineNo原来从0开始的,后来被加了1改为Excel计数方式的行数.
                CreateExcelHead( nHeadLineNo, nHeadColCount );

                //向Excel中逐行逐列写入表格中的数据   
                int nExcelCol, nExcelRow = 1; //Execl的行都从1开始起算。
                for (int i = 0; i < nRowsCount; i++)
                {
                    nExcelCol = 1;              //Execl的列都从1开始起算。

                    for (int j = 0; j < lstDate[i].Count; j++)
                    {
                        try
                        {
                            objExcel.Cells[nExcelRow, nExcelCol++] = lstDate[i][j].Trim();
                        }
                        catch (Exception)
                        {
                            return false;
                        }
                    }

                    nExcelRow ++;
                }

                //保存文件   
                objWorkbook.SaveAs(strOutFileName,
                                    Missing.Value, Missing.Value, Missing.Value, Missing.Value,
                                    Missing.Value, Excel.XlSaveAsAccessMode.xlShared, Missing.Value, Missing.Value, Missing.Value,
                                    Missing.Value, Missing.Value);

            }
            catch (Exception ex)
            {
                FF.Ctrl.MsgBox.ShowWarn(ex.Message);
                return false;
            }
            finally
            {
                CloseExcel();
            }

            FF.Ctrl.MsgBox.Show(strOutFileName + "\n\n导出完毕! ");

            return true;
        }
 public bool Save2Excel ()
 {
     //有checknox列的,只导出那些被选择的行
     if ( _HaveSelectedCheckBox )
     {
         GRID2EXCEL Excel = new GRID2EXCEL ();
         return Excel.SaveToExcel ( this , GetSelectCheckBoxLine () );
     }
     else
         return SaveAll2Excel ();
 }