2013-02-13 1 views
0

В настоящее время я создаю веб-приложение, которое предоставит пользователям ту же информацию, которую они видят в таблице на текущей странице, в формате электронной таблицы Excel. В другом проекте я нашел код предыдущего кода, который сделал то же самое.Попытка понять таблицы C# и XML в ASP.net

Небольшой вопрос: кто-нибудь знает, как работает столбец ss: Width? Это не точное совпадение. Column ss:AutoFitWidth="0" ss:Width="114" возвращает ширину столбца 21.00 ...

Где у меня большая часть моей проблемы, все данные, которые передаются в электронную таблицу, имеют пропущенные и хвостовые пробелы; Я не знаю, как его удалить. Я пробовал .Trim(), когда я делаю свой запрос .ToString(), и я изучал другие методы, но я, похоже, не нашел его. Ниже приведен фрагмент моего рабочего листа кода:

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

Забыла добавить ActionResult, который реализует этот код:

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" /> 
} 

Результат выглядит так, как в 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> копируется в документ Excel. Я понятия не имею, почему это происходит, но это решает мою проблему.

2

В соответствии с спецификацией XML Excel на MSDN http://msdn.microsoft.com/en-us/library/aa140066(v=office.10).aspx#odc_xmlss_ss:column. Ss: Width - ширина столбца в точках (что может отображаться по-разному на основе разрешения экрана и т. Д.).

Дополнительные места вокруг вашего обрезанного текста могут быть вызваны вашим отступом. Попробуйте разрушить этот XML-элемент следующим образом:

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

Именно это и закончилось. Спасибо. – MacSalty

 Смежные вопросы

  • Нет связанных вопросов^_^