Beispiel #1
0
    private void Export_Excel(ArrayList ParameterList)
    {
        try
        {

            BCO.VAM19_BCO BCO = new BCO.VAM19_BCO(ConntionDB);
            // 讀取 Excel 資料    

            DataTable dt;
            if (this.rblReportSource.SelectedValue == "1")
            {
                dt = BCO.QueryExportTrace(ParameterList);
            }
            else if (this.rblReportSource.SelectedValue == "2")
            {
                dt = BCO.QueryVamAgmTrace(ParameterList);
            }
            else
            {
                dt = BCO.QueryVamSKUTrace(ParameterList);
            }

            if (dt.Rows.Count == 0)
            {
                ErrorMsgLabel.Text = "查無資料";
                return;
            }
            ExcelXmlWorkbook book = new ExcelXmlWorkbook();

            Worksheet sheet0 = book[0];

            string s_Name;


            if (this.rblReportSource.SelectedValue == "1")
            {
                s_Name = "補收帳款匯出";
                AddSheetData(ref sheet0, s_Name, dt);
            }
            else if (this.rblReportSource.SelectedValue == "2")
            {
                s_Name = "各項扣款彙總表(補收)";
                AddSheetDataTrace(ref sheet0, s_Name, dt);
            }
            else
            {
                s_Name = "商品交易補收彙總表";
                AddSheetDataTrace_SKU(ref sheet0, s_Name, dt);
            }

           

            //設定輸出檔名
            string s_FileName =
            s_FileName = HttpUtility.UrlEncode("VAM191_" + s_Name + "_" + ParameterList[0].ToString() 
            + "_" + ParameterList[1].ToString() + ".XLS", System.Text.Encoding.UTF8);

            //File download
            Response.Charset = "big5";
            Response.ContentType = "application/x-excel;charset='utf-8'";
            Response.AddHeader("content-disposition", "attachment; filename=" + s_FileName);//excel檔名
            System.IO.MemoryStream stream = new System.IO.MemoryStream();
            book.Export(stream);
            string producedExcel = GetStringFromMemoryStream(stream);
            stream.Close();
            Response.Write(producedExcel);
            Response.Flush();
            Response.End();
        }
        catch (Exception ex)
        {
            this.ErrorMsgLabel.Text = ex.ToString();
        }
        finally { }
    }