Почтовый индекс сбрасывает ведущий ноль, когда отображается в Excel.Экспорт в Excel из vb.net XML в XSLT-преобразование - PullRequest
3 голосов
/ 17 августа 2010

Я экспортирую данные из vb.net в Excel, и они сбрасывают ведущий ноль при отображении в Excel.Как я могу избежать падения ведущего нуля?Я прочитал решение о добавлении одиночной кавычки, но это делает мой столбец таблицы Excel уродливым.Также пользователи будут жаловаться, если они увидят одинарную цитату в поле почтового индекса.vb.net код

Response.AddHeader("content-disposition", attachment)
        Response.ContentType = "application/vnd.ms-excel"
        Response.Charset = ""

хранимая процедура выводит XML и преобразует его в XSLT перед отображением в EXCEL

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <HTML>
      <HEAD>
        <STYLE type="text/css"> TABLE{table-layout: automatic; width:100%} .tblHeader{background-color:RGB(192,192,192);font-weight:bold} .row1{background-color:RGB(204,204,255)} .row2{background-color:RGB(153,204,255)} </STYLE>
      </HEAD>
      <BODY>
        <TABLE border="1">

          <THEAD>
            <tr class="tblHeader">
              <xsl:for-each select="*/*[1]/*">
                <td>
                  <xsl:value-of select="."/>
                </td>
              </xsl:for-each>
            </tr>
          </THEAD>

          <TBODY>
            <xsl:for-each select="ClientArray/Client">
              <TR>

                <xsl:for-each select="*">
                  <TD>
                    <xsl:value-of select="."/>
                  </TD>
                </xsl:for-each>

              </TR>
            </xsl:for-each>

          </TBODY>
        </TABLE>
      </BODY>
    </HTML>

  </xsl:template>
</xsl:stylesheet>

Пожалуйста, помогите мне с решением, отличным от добавления одногоцитирование или манипулирование таблицей Excel с помощью средства форматирования столбцов (общее / числовое) и т. д. Я не хочу, чтобы пользователь вносил какие-либо изменения в Excel для правильного отображения при отображении Excel с веб-страницы, все должно быть настроено с надлежащим форматированием.также мы не имеем никакого контроля над клиентским программным обеспечением Excel

Ответы [ 5 ]

1 голос
/ 29 марта 2012

Я столкнулся с этой проблемой при экспорте в Excel через PHP.Я обнаружил, что добавление знака равенства и окружение zip двойными кавычками заставили Excel сохранить начальный ноль.

Я не знаю vb.net, но в PHP это выглядело бы так:

echo '="' . $the_zip_code . '"';
1 голос
/ 11 марта 2012

Использование

<TD style="mso-number-format:\@;">

Это сохранит Leading zeros.

1 голос
/ 17 августа 2010

Числовые ячейки в Excel автоматически удаляются из начальных нулей. Чтобы сохранить предыдущие нули, вам нужно установить для данных ячейки текст [что достигается добавлением апострофа в почтовый индекс].

Я не очень часто использую Excel Interop, поэтому не могу точно сказать, как задать тип данных ячейки для текста, но могу вас заверить, что это способ исправить ваши проблемы.

0 голосов
/ 12 апреля 2013

Идите в камеру, над которой вы работаете.Щелкните правой кнопкой мыши, нажмите на ячейки формата и протестируйте.Введите свой номер с ведущими нулями, он останется.

0 голосов
/ 18 октября 2010

как насчет форматирования числа через xsl?посмотрите на http://www.w3schools.com/xsl/func_formatnumber.asp

...