/// <summary>
        /// 创建 Excel 报表.
        /// </summary>
        /// <param name="dataList"></param>
        /// <param name="outputFileName"></param>
        public void CreateExcelReport(List <T2> dataList, string outputFileName)
        {
            if (dataList == null ||
                dataList.Count == 0 ||
                dataList[0] == null)
            {
                // 参数为空
                // 或者没有数据
                // 直接返回.
                return;
            }


            // 取得连接字符串.
            String sConnectionString =
                Common.GetOleDbConnectionString(outputFileName);

            // 定义 Oledb 的数据库联接.
            OleDbConnection cn = new OleDbConnection(sConnectionString);

            try
            {
                // 打开连接.
                cn.Open();
                // 首先建表.
                string sqlCreate = ExcelDataExportFormater.GetCreateTableSql();


                // 仅仅当 GetCreateTableSql() 函数返回的字符串
                // 非空的情况下, 才执行
                // 如果返回为空,那么可以认为是目标 Excel 已经有这个表
                // 不需要重复创建了.
                if (!String.IsNullOrEmpty(sqlCreate))
                {
                    OleDbCommand cmd = new OleDbCommand(sqlCreate, cn);
                    // 创建Sheet.
                    cmd.ExecuteNonQuery();
                }


                // 然后插入行.
                OleDbCommand icmd = new OleDbCommand();
                icmd.Connection  = cn;
                icmd.CommandText = ExcelDataExportFormater.GetInsertSql();

                foreach (T2 oneData in dataList)
                {
                    // 清空参数.
                    icmd.Parameters.Clear();

                    // 从对象获取参数数组.
                    OleDbParameter[] parameters =
                        ExcelDataExportFormater.GetInsertParameter(oneData);

                    // 遍历填写参数.
                    for (int i = 0; i < parameters.Length; i++)
                    {
                        icmd.Parameters.Add(parameters[i]);
                    }
                    // 执行数据库插入操作.
                    icmd.ExecuteNonQuery();
                }
            }
            finally
            {
                // 执行完毕后,关闭连接.
                if (cn != null && cn.State == ConnectionState.Open)
                {
                    cn.Close();
                }
            }
        }