怀疑数据集excel ,,,,,,怀疑arraylist excel [英] doubt in dataset to excel,,,,,,doubt in arraylist to excel

查看:75
本文介绍了怀疑数据集excel ,,,,,,怀疑arraylist excel的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

朋友们,首先感谢你们很多帮助我

我得到了所有帖子的答案

在这种情况下请帮助我

代码看起来很冗长,但请阅读并帮助我的朋友.....





目前的疑问情景
在我的一个页面中,我发现

Friends, first of all many many thanks that you are helping me a lot
I get answer to all my posts
kindly help me in this scenario
code looks lengthy but please read and help me friends.....


current doubt scenario
In one of my page i found that

-->a button is there....it generates report,,that is excel report is generated
-->dataset is used here

 protected void btnExcel_Click(object sender, EventArgs e)
    {
        try
        {
            if (Page.IsValid)
            {
                DataSet ds = new DataSet();
                // string strUserid = string.Empty;
                System.Data.DataTable dt = new System.Data.DataTable();
                    int company_id = Convert.ToInt32(Session[TMS.Common.CommonConstants.CONST_COMPANY_ID].ToString());
                    DateTime from_date = Convert.ToDateTime(CalendarControl_FromDate.TextDate.Text);
                    DateTime To_date = Convert.ToDateTime(CalendarControl_ToDate.TextDate.Text);
                    int hub_id = Convert.ToInt32(ddl_Hub.SelectedValue);
                   
                    
                    //string strRouteID = Convert.ToString(txtRouteID.Text);
                    //string strRouteType = string.Equals((ddlRouteType.SelectedValue), "-1") ? string.Empty : Convert.ToString(ddlRouteType.SelectedValue);
                   
                    //TMS.Business.Report.INT_NoShow objNoShow = new TMS.Business.Report.INT_NoShow();
                    //ds = objNoShow.NoShowData(company_id, strRouteID, from_date, To_date, strApptTime, strProjectCode, strRouteType, hub_id, intNumOfDays, strLoginID, strUserid);
                    TMS.Business.Report.INT_Adhoc_Capping obj = new TMS.Business.Report.INT_Adhoc_Capping();
                    ds = obj.Adhoc_Capping(company_id, from_date, To_date, hub_id);
                    if (isExecuteReportGeneration(ds))
                    {
                        dt = ds.Tables[0];
                        string attachment = "attachment; filename=Report_Adhoc_Capping.xls";
                        Response.ClearContent();
                        Response.AddHeader("content-disposition", attachment);
                        Response.ContentType = "application/vnd.ms-excel";
 
                        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.");
                    }
                    //con.Close();
                }
             
        }
        catch (Exception ex)
        {
 
            // LogError.WriteError(ex);
 
        }
 
        finally
        {
 
        }
    }
 
 
    protected bool isExecuteReportGeneration(DataSet dsResult)
    {
        bool result = true;
        try
        {
 
 
            if (dsResult == null)
            {
                result = false;
            }
 
 
 
            if (dsResult.Tables.Count != 1)
            {
                result = false;
 
            }
            if (dsResult.Tables[0] == null)
            {
                result = false;
            }
            if (dsResult.Tables[0].Rows.Count == 0)
            {
                result = false;
            }
 
 
 
        }
 
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
        }
        return result;
 
    }
 
 
}





- 所以在上面代码



--so in above code

ds = obj.Adhoc_Capping(company_id, from_date, To_date, hub_id);



这里我得到来自后端sp的数据集和在下面的函数中使用..并且报告成功生成 if(isExecuteReportGeneration(ds))



-------------------------------------怀疑在第二页 - ------------------------------------

这里的情景是

i有一个搜索按钮..搜索数据显示....数据来自arraylist

如果找到数据,excelbutton可见变为真,,,点击。 。搜索显示的数据显示在xcel中........






here i get the dataset from backend sp and that is used in the below function..and the report gets successfully generated if (isExecuteReportGeneration(ds))

-------------------------------------Doubt in second page--------------------------------------
here the scenario is
i have a search button ..upon search the data gets displayed....data comes through arraylist
if data is found the excelbutton visible becomes true,,,and upon click..the data which was displayed by search gets displayed in xcel........


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;

        INT_Schedule obj_Int_Schedule = new INT_Schedule();

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





现在这里数据来自arraylist ---在第一种情况下它来自数据集

i想要使用第一种情况的代码---但这里的数据来自arraylist而不是数据集



now here data comes from arraylist---in 1st case it was coming from dataset
i want to use the code of 1st case---but here the data comes from arraylist rather than dataset

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



dsRecods是arraylist ...如果它可以转换为数据集,以便我可以使用第一种情况的代码 - 即将数据集传递给下面的函数,我的excel报告将生成.....




dsRecods which is arraylist...if it can be converted to dataset so that i can use the code of first case-that is pass the dataset to the below function and my excel report will be generated.....

if (isExecuteReportGeneration(dsRecords))

        {
            string attachment = "attachment; filename=Importeduserschedule.xls";
            Response.ClearContent();
            Response.AddHeader("content-disposition", attachment);
            Response.ContentType = "application/vnd.ms-excel";
            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(DataSet dsResult)
    {
        bool result = true;
        try
        {
            if (dsResult == null)
            {
                result = false;
            }
            if (dsResult.Tables.Count != 1)
            {
                result = false;
            }
            if (dsResult.Tables[0] == null)
            {
                result = false;
            }
            if (dsResult.Tables[0].Rows.Count == 0)
            {
                result = false;
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
        }
        return result;
    }





在这种情况下请帮助我



kindly help me in this case

推荐答案

所以我知道您想将ArrayList转换为DataSet?

您可以将其转换为DataTable,如下所述:http://tomgilkison.blogspot.com/2008/05/convert-arraylist-to-datatable.html [ ^ ]

然后添加这个DataTable进入你的DataSet
So I understand that you want to convert an ArrayList to a DataSet?
You can convert it into a DataTable as described here: http://tomgilkison.blogspot.com/2008/05/convert-arraylist-to-datatable.html[^]
Then add this DataTable into your DataSet


------------------是的,我已经做到了------------ --------:)-------------:)-------------------------

- 这就是我将arraylist转换为datatable的方式-----------下面的函数在excelreport的按钮点击中被调用----然后我得到了数据表----使用datatable我正在生成excel报告--------



public DataTable C onvertArraylistToDataSet(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。添加(Cab_Drop,System.Type.GetType(System.String));

dtEntityReturned.Columns.Add(IsWeekend,System.Type.GetType(System.String) );

dtEntityRetu rned.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(arrayList中的TMS.API.Schedule.VO_Schedule_SR objreqSR)

{

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 [备注] = objreqSR.Remarks;

myRow [Shift_Type] = objreqSR.Shift_Type;





dtEntityReturned.Rows.Add(myRow);

}

返回dtEntityReturned;

$







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,附件);

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



DataTable dt = null;

dt = dsEntityReturned;

string tab =;



foreach(dt.Columns中的DataColumn dc)

{



Response.Write(tab + dc.ColumnName);



tab =\t;

}

Response.Write(\ n);









int i;

foreach(dt.Rows中的DataRow博士)

{

tab =;
$ (b = b;(i = 0;我< dt.Columns.Count; i ++)

{

Response.Write(tab + dr [i] .ToString());

tab =\ t ;

}

Response.Write(\ n);

}



//HttpContext.Current.ApplicationInstance.CompleteRequest();

Response.End();

}



else

{

ShowMessageBox(找不到记录。);

}







}
------------------yes i have done it--------------------:)-------------:)-------------------------
--this is how i am converting the arraylist to datatable-----------below function is called in button click of excelreport----then i am getting the datatable----using datatable i am generating the excel report--------

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;
}



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.");
}



}


这篇关于怀疑数据集excel ,,,,,,怀疑arraylist excel的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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