2013-02-13 5 views
0

현재 Excel 스프레드 시트 형식으로 현재 페이지의 테이블에 표시되는 것과 동일한 정보를 사용자에게 제공 할 웹 응용 프로그램을 만들고 있습니다. 같은 일을 한 다른 프로젝트에서 이전 코드를 발견했습니다.ASP.net에서 C# 및 XML 스프레드 시트를 이해하려고 시도했습니다.

작은 질문부터 : 누가 열 ss : 너비가 작동하는 방법을 알고 있습니까? 정확히 일치하지 않습니다. Column ss:AutoFitWidth="0" ss:Width="114"은 21.00의 열 너비를 반환합니다 ...

대부분의 문제는 스프레드 시트에 전달되는 모든 데이터가 앞뒤 공백을 포함한다는 것입니다. 나는 그것을 어떻게 제거할지 모른다. 나는 내 .ToString() 쿼리를 만들었을 때 .Trim()을 시도했지만 다른 방법을 찾고 있었지만 찾지 못했습니다.

public ActionResult _Excel(tblUsers model) 
    { 
     List<tbl_Users> inquiriesList = UserManageModel.GetResults(model); 
     ViewBag.contents = inquiriesList; 
     return View("_Excel"); 
    } 

그리고 전화 :

@using (Html.BeginForm("_Excel", "UserManage", FormMethod.Post)) 
{ 
    <input type="submit" value="View Detailed List of Users in Excel" /> 
} 

이 코드를 구현하는 ActionResult을 추가 잊으

<Worksheet ss:Name="UserMgmt1"> 
     <Table>   
      @*Name*@ 
      <Column ss:AutoFitWidth="0" ss:Width="114" /> 
      <Row> 
       <Cell ss:StyleID="s29"> 
        <Data ss:Type="String">Name</Data> 
        </Cell> 

      </Row> 
     @foreach (tbl_Users query in ViewBag.contents) 
      { 
      <Row> 
       <Cell ss:StyleID="s31"> 
        <ss:Data ss:Type="String" > 
         @(query.Name.ToString().Trim()) 
        </ss:Data> 
       </Cell> 
      </Row> 
      } 
    </Table> 
</Worksheet> 

: 다음은 내 워크 시트 코드의 조각이다 Excel에서이 결과는 각각의 주변에 많은 공백이 있습니다. 트링 항목 :

     Administrator       
+0

예제를 더 작게 만들 수 있고 더 많은 컨텍스트를 표시 할 수 있습니까? 마찬가지로 작은 예제가 들어있는 뷰를 표시하고 예제에서 생성하는 XML을 표시합니다. –

+0

XML을 스프레드 시트로 렌더링하는 것은 무엇입니까? 그것들은 HTML 요소가 아닙니다. –

+0

@JohnSaunders 문제 없어요, 내 추가 예제가 좀 더 통찰력을 줄 수 있기를 바랍니다. – MacSalty

답변

0

그것은 내 문제가 모두 함께 내 <Row> 코드

<ss:Data ss:Type="String" > 
     @(query.Name.ToString().Trim()) 
</ss:Data> 

<ss:Data> 태그 사이의 선도와 다음의 공백이 엑셀 문서에 복사의 형식이었다 밝혀졌습니다. 왜 이렇게하는지 모르지만 이것이 내 문제를 해결합니다.

2

MS Excel의 XML Excel 사양에 따라 http://msdn.microsoft.com/en-us/library/aa140066(v=office.10).aspx#odc_xmlss_ss:column ss : 너비는 포인트 단위의 열 너비입니다 (화면 해상도 등에 따라 다르게 렌더링 될 수 있음).

트리밍 된 텍스트 주변의 여분의 공백은 들여 쓰기로 인한 것일 수 있습니다. 다음과 같이 XML 요소를 축소 해보십시오.

<ss:Data ss:Type="String" >@(query.Name.ToString().Trim())</ss:Data> 
+0

정확히 그것이 끝난 것입니다. 고맙습니다. – MacSalty