Проблема с StringWriter - PullRequest
       11

Проблема с StringWriter

0 голосов
/ 27 января 2010

Я использую следующий код: (очевидно, возвращает Excel)

   ControllerContext.HttpContext.Response.ContentType = "application/ms-excel";
   ControllerContext.HttpContext.Response.Write(sw.ToString());
   ControllerContext.HttpContext.Response.End();
   return View();

где sw - это StringWriter, в котором я создаю свою структуру Excel (таблица). Итак, sw.ToString () является таблицей, и некоторые tds содержат значения, такие как 0001234. Когда я открываю файл Excel, я вижу в этих тдс 1234, без нулей. Что я должен сделать, чтобы увидеть эти нули?

Ответы [ 4 ]

1 голос
/ 27 января 2010

Какой формат файла вы генерируете? Поскольку вы говорите о TD, я предполагаю, что вы работаете с HTML.

Попробуйте сгенерировать XMLSS . Он позволяет вам указывать большую часть форматирования, и это всего лишь простой XML-файл, поэтому его генерация не доставляет особых хлопот. (Вы можете получить базовую структуру, сохранив документ в формате «XML Spreadsheet 2003»)

0 голосов
/ 28 января 2010

Ну, одним из решений было бы написать & nbsp в каждом тд, а затем значение, и это выглядит великолепно.

tw.RenderBeginTag (HtmlTextWriterTag.Td); tw.Write ("");
tw.Write (значение); tw.RenderEndTag (); * +1004 *

0 голосов
/ 27 января 2010

Вы можете добавить стиль CSS к TD:

Как текст:

<style type="text/css">
.number-txt { mso-number-format:\@ }
</style>

<td class="number-txt">0001234<td>

Как число:

<style type="text/css">
.number { mso-number-format:0000000 }
</style>

<td class="number">0001234<td>
0 голосов
/ 27 января 2010

Сам не пробовал, но в Excel, если вы поставите ' перед числом, он будет восприниматься как строка. Может быть, это работает ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...