public void ExportReport()
        {
            List<OrderMasterQuery> stores = new List<OrderMasterQuery>();
            OrderMasterQuery query = new OrderMasterQuery();
            DateTime dtime;
            string payment = string.Empty;
            string order_status = string.Empty;
            string detail_status = string.Empty;
            string product_mode = string.Empty;
            string total_amount = string.Empty;
            string invoice_number = string.Empty;
            string invoice_date = string.Empty;
            try
            {
                _orderMasterMgr = new OrderMasterMgr(mySqlConnectionString);
                _orderReturnStatus = new OrderReturnStatusMgr(mySqlConnectionString);
                #region 查詢條件
                string dateOne = Request.Params["dateOne"];
                string dateTwo = Request.Params["dateTwo"];
                if (DateTime.TryParse(Request.Params["dateOne"].ToString(), out dtime))//開始時間
                {
                    query.datestart = dtime;
                }
                if (DateTime.TryParse(Request.Params["dateTwo"].ToString(), out dtime))
                {
                    query.dateend = dtime;
                }

                #endregion
                DataTable dtHZ = new DataTable();
                dtHZ.Columns.Add("會員姓名", typeof(String));
                dtHZ.Columns.Add("購買時間", typeof(String));
                dtHZ.Columns.Add("付款單號", typeof(String));
                dtHZ.Columns.Add("付款方式", typeof(String));
                dtHZ.Columns.Add("購買金額", typeof(String));
                dtHZ.Columns.Add("付款狀態", typeof(String));
                dtHZ.Columns.Add("發票號碼", typeof(String));
                dtHZ.Columns.Add("發票金額", typeof(String));
                dtHZ.Columns.Add("發票開立日期", typeof(String));
                dtHZ.Columns.Add("商品細項編號", typeof(String));
                dtHZ.Columns.Add("訂單狀態", typeof(String));
                dtHZ.Columns.Add("供應商", typeof(String));
                dtHZ.Columns.Add("供應商編碼", typeof(String));
                dtHZ.Columns.Add("品名", typeof(String));
                dtHZ.Columns.Add("數量", typeof(String));
                dtHZ.Columns.Add("購買單價", typeof(String));
                dtHZ.Columns.Add("折抵購物金", typeof(String));
                dtHZ.Columns.Add("抵用卷", typeof(String));
                dtHZ.Columns.Add("總價", typeof(String));
                dtHZ.Columns.Add("成本單價", typeof(String));
                dtHZ.Columns.Add("寄倉費", typeof(String));
                dtHZ.Columns.Add("成本總額", typeof(String));
                dtHZ.Columns.Add("出貨單歸檔期", typeof(String));
                dtHZ.Columns.Add("負責PM", typeof(String));
                dtHZ.Columns.Add("來源ID", typeof(String));
                dtHZ.Columns.Add("來源名稱", typeof(String));
                dtHZ.Columns.Add("出貨方式", typeof(String));
                DataTable _dt = _orderMasterMgr.OrderSerchExport(query);
                for (int i = 0; i < _dt.Rows.Count; i++)
                {
                    if (i != 0)
                    {
                        if (_dt.Rows[i]["order_id"].ToString() == _dt.Rows[i - 1]["order_id"].ToString())
                        {
                            dtHZ.Rows.Add(_orderReturnStatus.GetOrdinaryData(dtHZ, _dt, i));
                        }
                        else
                        {
                            if (i == _dt.Rows.Count - 1)
                            {
                                #region 如果此order_id是最後一條數據
                                dtHZ.Rows.Add(_orderReturnStatus.GetOrdinaryData(dtHZ, _dt, i));
                                DataTable _dtFreight = _orderMasterMgr.GetOrderFreight(Convert.ToUInt32(_dt.Rows[i]["order_id"]));
                                if (_dtFreight != null && _dtFreight.Rows.Count > 0)
                                {
                                    #region 常溫運費
                                    if (Convert.ToInt32(_dtFreight.Rows[0][0]) != 0)//常溫運費
                                    {
                                        dtHZ.Rows.Add(_orderReturnStatus.GetFreightData(dtHZ, _dt, _dtFreight, i,1));

                                    }
                                    #endregion
                                    #region 低溫運費
                                    if (Convert.ToInt32(_dtFreight.Rows[0][1]) != 0)//低溫運費
                                    {
                                        dtHZ.Rows.Add(_orderReturnStatus.GetFreightData(dtHZ, _dt, _dtFreight, i, 2));
                                    }
                                    #endregion
                                }
                                #endregion
                            }
                            else
                            {
                                #region 查上一個order_id是否有運費
                                DataTable _dtFreight02 = _orderMasterMgr.GetOrderFreight(Convert.ToUInt32(_dt.Rows[i - 1]["order_id"]));
                                if (_dtFreight02 != null && _dtFreight02.Rows.Count > 0)
                                {
                                    #region 常溫運費
                                    if (Convert.ToInt32(_dtFreight02.Rows[0][0]) != 0)//常溫運費
                                    {
                                        dtHZ.Rows.Add(_orderReturnStatus.GetFreightData(dtHZ, _dt, _dtFreight02, i - 1,1));

                                    }
                                    #endregion
                                    #region 低溫運費
                                    if (Convert.ToInt32(_dtFreight02.Rows[0][1]) != 0)//低溫運費
                                    {
                                        dtHZ.Rows.Add(_orderReturnStatus.GetFreightData(dtHZ, _dt, _dtFreight02, i - 1,2));
                                    }
                                    #endregion
                                }
                                #endregion
                                #region 查當前order_id
                                dtHZ.Rows.Add(_orderReturnStatus.GetOrdinaryData(dtHZ, _dt, i));
                                #endregion
                            }
                        }
                    }
                    else
                    {
                       dtHZ.Rows.Add(_orderReturnStatus.GetOrdinaryData(dtHZ, _dt, i));
                    }
                }
                string fileName = "會計總表" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
                MemoryStream ms = ExcelHelperXhf.ExportDT(dtHZ, "");
                Response.AddHeader("Content-Disposition", "attach-ment;filename=" + fileName);
                Response.BinaryWrite(ms.ToArray());
            }
            catch (Exception ex)
            {
                Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
                logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
                logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                log.Error(logMessage);
            }
        }