【问题标题】:Classic ASP XLS output with carriage return in cell经典 ASP XLS 输出,单元格中有回车
【发布时间】:2012-02-05 03:07:08
【问题描述】:

我有一个经典的 ASP 脚本,可以将 HTML 表格输出为 XLS 文件,但没有运气让回车/换行符在单个单元格中工作。

为了测试,我使用的是基于 Kristof 对 How to output an Excel *.xls file from classic ASP 的回复的代码

我已经尝试了所有我知道的插入回车/换行的方法。我的示例代码如下:

<%@ Language=VBScript %>
<%  Option Explicit
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename=excelTest.xls"
%>
<table border="1">
    <tr>
        <td>Line1<br />Line2</td>
        <td><p>Line1</p>Line2</td>
        <td><div>Line1</div>Line2</td>
        <td>Line1<%=chr(10)%>Line2</td>
        <td>Line1<%=vbCR%>Line2</td>
        <td>Line1<%=vbLF%>Line2</td>
        <td>Line1<%=vbCRLF%>Line2</td>
        <td>Line1\rLine2</td>
        <td>Line1\nLine2</td>
    </tr>
</table>

我在 Excel 2010 中打开 XLS。前 3 个使用 HTML 标记的示例显示回车,但将数据拆分为 2 行。其余示例将数据显示在一行上。有什么方法可以使用带有回车符的 Classic ASP 填充 Excel 字段,而不会将其拆分为多行?

编辑:

为了澄清,我试图复制在 Excel 的单元格中键入 alt-enter 的行为。在下面的屏幕截图中,您可以看到前 3 个示例将数据拆分为两个单元格(第 1 行和第 2 行),而其余的都显示在一行上。我试图在一个单元格中实现两行文本。是否有任何其他代码可以用来插入换行符但将数据保留在一个单元格中?

Excel Screenshot

【问题讨论】:

    标签: asp-classic xls


    【解决方案1】:

    您的代码中标记的显示和回车的输出之间是否存在一些混淆。

    标记显示给出了前三个 td 的回车的外观

    第四个、第六个和第七个 td 包含 html 源中的回车

    根据提供的评论和屏幕截图编辑 asp

    将以下样式添加到您的页面,您可以看到第一个单元格的行为符合需要。

    <style>
    <!--table
    br {mso-data-placement:same-cell;}
    tr {vertical-align:top;}
    -->
    </style>
    

    【讨论】:

    • 我列出了我尝试在 Excel 单元格中呈现换行符的所有代码。我试过的方法都没有奏效。我添加了指向屏幕截图的链接以进行澄清。前 3 个带有标记的示例将文本拆分为一个新行,但也拆分为一个新单元格。我需要文本留在同一个单元格中。
    • 太完美了!考虑到代码的过时程度,对解决这个问题没有太大希望。谢谢!
    • 没有问题,经典的 asp 不会离开舞台 - 不要忘记投票 ;-)
    猜你喜欢
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    相关资源
    最近更新 更多