2012-06-14 1 views
1

이 문제에 대한 간단한 해결책이 있어야합니다.하지만 신의 사랑에 대해서는 알아낼 수 없습니다!Excel 용 저장 프로 시저의 출력 형식 지정

저는 일반적으로 Business Objects와 같은보고 도구를 사용하기 때문에 Excel로 데이터를 출력하는 것에 익숙하지 않습니다. 그러나 기존 C# 웹 응용 프로그램의 기존 보고서를 수정하려고합니다. Excel 시트에 25 개의 데이터 열을 추가합니다. params를 받아들이고 하나의 데이터 행을 25 개의 열로 출력하는 간단한 저장 프로 시저를 작성했습니다. 그런 다음이 함수를 호출하여 각각 mentee_id에 대해 실행합니다. 그것은 훌륭하게 작동하지만 빈 컬럼이있는 25 개의 컬럼을 앞에 둡니다. 사람이 어떤 제안이 있다면 나는 ....

//here is the function that executes the stored procedure: 
protected string GetServiceCodes_byColumns(object mentee_id) 
{ 
    //string id = mentee_id.ToString(); 
    //string id = "4530"; //for testing    
    string value = "0"; 
    string retString = string.Empty; 

    try 
    {    
     //Displays current information from the database 
     string strConn = ConfigurationManager.AppSettings.Get("SQLConnectionString"); 
     SqlConnection myDBConnection = new SqlConnection(strConn); 
     string sProc = ("[spMSSreport_MenteeSummaryByCenter_ServiceCodes]"); 
     SqlCommand spCmd = new SqlCommand(sProc, myDBConnection); 
     spCmd.CommandType = CommandType.StoredProcedure; 
     SqlParameter pCntr = new SqlParameter("@cntr", ddlCenter.SelectedValue); 
     SqlParameter pStartDate = new SqlParameter("@start", txtStartDate.Text); 
     SqlParameter pEndDate = new SqlParameter("@end", txtEndDate.Text); 
     SqlParameter pUserID = new SqlParameter("@userid", mentee_id); 

     spCmd.Parameters.Add(pCntr); 
     spCmd.Parameters.Add(pStartDate); 
     spCmd.Parameters.Add(pEndDate); 
     spCmd.Parameters.Add(pUserID); 

     myDBConnection.Open();   
     SqlDataReader rdr = spCmd.ExecuteReader();  //should retrieve one row with 25 columns 
     rdr.Read();      

     for (int i = 0; i < 25; i++) 
     { 
      retString += "<td align='right'>" + rdr.GetValue(i).ToString() + "</td>";    
     } 
     value = retString;    

     dr.Close(); 
     myDBConnection.Close(); 
    } 
    catch (Exception ex) 
    { 
     Response.Write(ex); 
    } 
    return value; 
} 

그것을 대단히 감사하겠습니다 // 여기에 기능을

<ItemTemplate> 
    <tr valign="top"> 
     <td><%#DataBinder.Eval(Container.DataItem, "MentorName") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "MenteeName") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "MenteeWSUID") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "gender") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "sttype") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "ethniccd")%></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "center1") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "center2") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "TMPcollege") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "FCOC") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "CAMP") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "SSS") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "CSF") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "Lead1000") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "year") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "term") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "fieldofstudy") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "street") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "city") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "st") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "zip") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "phone") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "email") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "email2") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "AssignedMentor") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "AssignedMentor2")%></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "AssignedMentor3")%></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "AssignedMentor4")%></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "AssignedMentor5")%></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "mentor_and_mentee") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "active") %></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "inactive_reason") %></td> 
     <td align="right"><%#GetEngagementLevel(DataBinder.Eval(Container.DataItem, "mentee_id")) %></td> 
     <td align="right"><%#DataBinder.Eval(Container.DataItem, "A") %></td> 
     <td align="right"><%#DataBinder.Eval(Container.DataItem, "B") %></td> 
     <td align="right"><%#DataBinder.Eval(Container.DataItem, "C") %></td> 
     <td align="right"><%#DataBinder.Eval(Container.DataItem, "D") %></td> 
     <td align="right"><%#DataBinder.Eval(Container.DataItem, "E") %></td> 
     <td align="right"><%#DataBinder.Eval(Container.DataItem, "F") %></td> 
     <td align="right"><%#DataBinder.Eval(Container.DataItem, "G") %></td> 
     <td align="right"><%#DataBinder.Eval(Container.DataItem, "H") %></td> 
     <td align="right"><%#DataBinder.Eval(Container.DataItem, "I") %></td> 
     <td align="right"><%#DataBinder.Eval(Container.DataItem, "J") %></td> 
     <td align="right"><%#DataBinder.Eval(Container.DataItem, "K") %></td> 
     <td align="right"><%#DataBinder.Eval(Container.DataItem, "L") %></td> 
     <td align="right"><%#DataBinder.Eval(Container.DataItem, "M") %></td> 
     <td align="right"><%#DataBinder.Eval(Container.DataItem, "N") %></td> 
     <td align="right"><%#DataBinder.Eval(Container.DataItem, "O") %></td> 
     <td align="right"><%#GetServiceCodes_byColumns(DataBinder.Eval(Container.DataItem, "mentee_id"))%></td>   
    </tr>  
</ItemTemplate> 
+0

방금 ​​1이 아닌 0으로 i''설정할 수, 빈 열을 통해 반복되지 않도록 : 그것은 단순히 귀하의 마지막 줄에서 < TD 정렬 = '권리'를 제거 하시겠습니까? –

답변

0
(이 함수를 호출 마지막 줄의)를 호출 영문의 비트입니다

최종 td 내에 25 개를 포함하고있는 것으로 보입니다.

<%#GetServiceCodes_byColumns(DataBinder.Eval(Container.DataItem, "mentee_id"))%>