经典ASP XLS输出,单元格中有回车符

时间:2012-02-05 03:07:08

标签: asp-classic xls

我有一个经典的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。使用HTML标记的前3个示例显示回车符,但将数据拆分为2行。其余示例在一行上显示数据。有没有办法使用带有回车符的Classic ASP填充Excel字段而不将其拆分成多行?

编辑:

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

Excel Screenshot

1 个答案:

答案 0 :(得分:2)

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

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

enter image description here

并且第四,第六和第七个td包含html源中的回车

enter image description here

EDIT asp每条评论和截图提供

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

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