如何更改Excel报表中的背景颜色 [英] how to change the background colour in excel report

查看:78
本文介绍了如何更改Excel报表中的背景颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

---我想要我生成的excel ----



- >我希望标题栏的颜色为

- >列没有包裹







---i want the excel which i have generated----

-->i want the column of header to be in color
-->the columns are not wrapped



public DataTable ConvertArraylistToDataSet(ArrayList arrayList)
   {

       DataTable dtEntityReturned = new DataTable();

       dtEntityReturned.Columns.Add("UserID", System.Type.GetType("System.String"));
       dtEntityReturned.Columns.Add("ScheduleDate", System.Type.GetType("System.String"));
       dtEntityReturned.Columns.Add("ShiftStartTime", System.Type.GetType("System.String"));
       dtEntityReturned.Columns.Add("ShiftEndTime", System.Type.GetType("System.String"));
       dtEntityReturned.Columns.Add("Creation_Date", System.Type.GetType("System.String"));
       dtEntityReturned.Columns.Add("Cab_Pick", System.Type.GetType("System.String"));
       dtEntityReturned.Columns.Add("Cab_Drop", System.Type.GetType("System.String"));
       dtEntityReturned.Columns.Add("IsWeekend", System.Type.GetType("System.String"));
       dtEntityReturned.Columns.Add("IsClientHoliday", System.Type.GetType("System.String"));
       dtEntityReturned.Columns.Add("Remarks", System.Type.GetType("System.String"));
       dtEntityReturned.Columns.Add("Shift_Type", System.Type.GetType("System.String"));


       foreach (TMS.API.Schedule.VO_Schedule_SR objreqSR in arrayList)
       {
           DataRow myRow = dtEntityReturned.NewRow();

           myRow["UserID"] = objreqSR.UserID;
           myRow["ScheduleDate"] = objreqSR.ScheduleDate;
           myRow["ShiftStartTime"] = objreqSR.ShiftStartTime;
           myRow["ScheduleDate"] = objreqSR.ScheduleDate;
           myRow["Creation_Date"] = objreqSR.Creation_Date;
           myRow["Cab_Pick"] = objreqSR.Cab_Pick;
           myRow["Cab_Drop"] = objreqSR.Cab_Drop;
           myRow["IsWeekend"] = objreqSR.IsWeekend;
           myRow["Remarks"] = objreqSR.Remarks;
           myRow["Shift_Type"] = objreqSR.Shift_Type;


           dtEntityReturned.Rows.Add(myRow);
       }
       return dtEntityReturned;
   }



----------------这里数据表添加在表格中 - ----------------------------------------我需要在这里改变---怎么样这样做吗?



- >我希望标题列是彩色的

- >列值应该是包裹......但它不会被包裹......我必须扩展每一列才能阅读每一栏中的内容.....






----------------Here the datatable are added in the sheet------------------------------------------i need to change here ---how to do it ?

-->i want the column of header to be in color
-->the columns values should be wrapped...but its not coming in wrapped..i have to expand each column to read the things in each column.....


    protected void ExportToExcel_Click(object sender, EventArgs e)
    {

        TMS.API.Schedule.VO_Schedule_SC obj_Schedule = new TMS.API.Schedule.VO_Schedule_SC();
        obj_Schedule.StartDate = DateTime.Parse(txt_From_date.Text).ToString("MM/dd/yyyy HH:mm:ss");
        obj_Schedule.EndDate = DateTime.Parse(txt_To_date.Text).ToString("MM/dd/yyyy HH:mm:ss");
        obj_Schedule.Hub_ID = ddl_Hub.SelectedValue;
        obj_Schedule.UserID = string.IsNullOrEmpty(txtEmployeeID.Text) ? string.Empty : txtEmployeeID.Text;
        obj_Schedule.fullrecords="1";
        INT_Schedule obj_Int_Schedule = new INT_Schedule();
        ArrayList dsRecords = obj_Int_Schedule.GetAllImportedUser_Records(obj_Schedule, PageToDisplay, PageSize);
        DataTable dsEntityReturned = ConvertArraylistToDataSet(dsRecords);
        DataSet ds =new DataSet();
        
          if (isExecuteReportGeneration(dsEntityReturned))
            {

                string attachment = "attachment; filename=Importeduserschedule.xls";
                Response.ClearContent();
                Response.AddHeader("content-disposition", attachment);
                Response.ContentType = "application/vnd.ms-excel";

                DataTable dt = null;
                dt = dsEntityReturned;
                string tab = "";
                
                foreach (DataColumn dc in dt.Columns)
                {

                    Response.Write(tab + dc.ColumnName);

                     tab = "\t";
                }
                Response.Write("\n");


                

                int i;
                foreach (DataRow dr in dt.Rows)
                {
                    tab = "";
                    for (i = 0; i < dt.Columns.Count; i++)
                    {
                        Response.Write(tab + dr[i].ToString());
                        tab = "\t";
                    }
                    Response.Write("\n");
                }

                //HttpContext.Current.ApplicationInstance.CompleteRequest();
                Response.End();
            }

            else
            {
                ShowMessageBox("No Record(s) Found.");
            }



        }

protected bool isExecuteReportGeneration( DataTable dsResult)
    {
        bool result = true;
        try
        {


            if (dsResult == null)
            {
                result = false;
            }

            if (dsResult.Rows.Count == 0)
            {
                result = false;
            }

        }

        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
        }
        return result;

    }

推荐答案

---------------我去了解决方案-----------------------------------



protected void ExportToExcel_Click(object sender,EventArgs e)

{

HttpContext.Current.Response.Write();



TMS.API.Schedule.VO_Schedule_SC obj_Schedule = new TMS.API.Schedule.VO_Schedule_SC();

obj_Schedule.StartDate = DateTime.Parse(txt_From_date.Text).ToString (MM / dd / yyyy HH:mm:ss);

obj_Schedule.EndDate = DateTime.Parse(txt_To_date.Text).ToString(MM / dd / yyyy HH:mm:ss );

obj_Schedule.Hub_ID = ddl_Hub.SelectedValue;

obj_Schedule.UserID = string.IsNullOrEmpty(txtEmployeeID.Text)? string.Empty:txtEmployeeID.Text;

obj_Schedule.fullrecords =1;

INT_Schedule obj_Int_Schedule = new INT_Schedule();

ArrayList dsRecords = obj_Int_Schedule.GetAllImportedUser_Records(obj_Schedule,PageToDisplay,PageSize);

DataTable dsEntityReturned = ConvertArraylistToDataSet(dsRecords);

DataSet ds = new DataSet();



if(isExecuteReportGeneration(dsEntityReturned))

{



string attachment =attachment; filename = Importeduserschedule.xls;

Response.ClearContent();

Response.AddHeader(content-disposition,附件);

响应。 ContentType =application / vnd.ms-excel;



DataTable dt = null;

dt = dsEntityReturned;

string tab =;





HttpContext.Current.Response.Write(@<!DOCTYPE HTML PUBLIC - // W3C // DTD HTML 4.0 Transitional // EN>);

HttpContext.Current.Response.Write(
---------------i go the solution-----------------------------------

protected void ExportToExcel_Click(object sender, EventArgs e)
{
HttpContext.Current.Response.Write("");

TMS.API.Schedule.VO_Schedule_SC obj_Schedule = new TMS.API.Schedule.VO_Schedule_SC();
obj_Schedule.StartDate = DateTime.Parse(txt_From_date.Text).ToString("MM/dd/yyyy HH:mm:ss");
obj_Schedule.EndDate = DateTime.Parse(txt_To_date.Text).ToString("MM/dd/yyyy HH:mm:ss");
obj_Schedule.Hub_ID = ddl_Hub.SelectedValue;
obj_Schedule.UserID = string.IsNullOrEmpty(txtEmployeeID.Text) ? string.Empty : txtEmployeeID.Text;
obj_Schedule.fullrecords="1";
INT_Schedule obj_Int_Schedule = new INT_Schedule();
ArrayList dsRecords = obj_Int_Schedule.GetAllImportedUser_Records(obj_Schedule, PageToDisplay, PageSize);
DataTable dsEntityReturned = ConvertArraylistToDataSet(dsRecords);
DataSet ds =new DataSet();

if (isExecuteReportGeneration(dsEntityReturned))
{

string attachment = "attachment; filename=Importeduserschedule.xls";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/vnd.ms-excel";

DataTable dt = null;
dt = dsEntityReturned;
string tab = "";


HttpContext.Current.Response.Write(@"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">");
HttpContext.Current.Response.Write("


这篇关于如何更改Excel报表中的背景颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆