Example #1
0
    protected void btnExcel_Click(object sender, System.EventArgs e)
    {
        DataTable dataTable = new DataTable();

        dataTable = ConstructReport.GetEvenAnalysis(this.txtPrjCode.Text.Trim(), this.txtPrjName.Text.Trim(), 0, 0, base.UserCode, this.hfldIsWBSRelevance.Value);
        if (dataTable.Rows.Count > 0)
        {
            DataRow dataRow = dataTable.NewRow();
            dataRow["Num"]          = "合计";
            dataRow["ContractBud"]  = dataTable.Compute("sum(ContractBud)", "1>0");
            dataRow["DirectCost"]   = dataTable.Compute("sum(DirectCost)", "1>0");
            dataRow["IndirectCost"] = dataTable.Compute("sum(IndirectCost)", "1>0");
            dataRow["GainLoss"]     = dataTable.Compute("sum(GainLoss)", "1>0");
            if (System.Convert.ToDecimal(dataRow["ContractBud"]) != 0m)
            {
                decimal d = System.Convert.ToDecimal(dataRow["GainLoss"]) / System.Convert.ToDecimal(dataRow["ContractBud"]);
                dataRow["RatioGainLoss"] = (decimal.Floor(d * 10000m) / 100m).ToString() + "%";
            }
            else
            {
                dataRow["RatioGainLoss"] = "0.00%";
            }
            dataTable.Rows.Add(dataRow);
        }
        dataTable = this.GetTitleByTable(dataTable);
        System.Collections.Generic.List <ExcelHeader> list = new System.Collections.Generic.List <ExcelHeader>();
        list.Add(ExcelHeader.Create("累计数", 1, 5, 3, 0));
        list.Add(ExcelHeader.Create("实际成本", 2, 2, 4, 0));
        System.Collections.Generic.List <int> list2 = new System.Collections.Generic.List <int>();
        foreach (DataColumn dataColumn in dataTable.Columns)
        {
            if (dataColumn.Ordinal >= 3)
            {
                list2.Add(dataColumn.Ordinal);
            }
            if (dataColumn.Ordinal < 3)
            {
                list.Add(ExcelHeader.Create(dataColumn.ColumnName, 3, 0, 0, 3));
            }
            else
            {
                if (dataColumn.Ordinal > 3 && dataColumn.Ordinal < 6)
                {
                    list.Add(ExcelHeader.Create(dataColumn.ColumnName, 3, 0, 0, 0));
                }
                else
                {
                    list.Add(ExcelHeader.Create(dataColumn.ColumnName, 2, 0, 0, 2));
                }
            }
        }
        ExcelHelper.ExportExcel(dataTable, "盈亏分析", "盈亏分析", "盈亏分析.xls", list, null, 3, base.Request.Browser.Browser);
    }