我有一个经典的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行),而其余部分都显示在一行中。我试图在一个单元格中实现两行文本。是否还有其他代码可用于插入换行符但将数据保存在一个单元格中?
答案 0 :(得分:2)
在代码中显示标记和回车输出之间是否存在一些混淆。
标记显示给出了前三个td的回车的外观
并且第四,第六和第七个td包含html源中的回车
EDIT asp每条评论和截图提供
将以下样式添加到页面中,您可以看到第一个单元格的行为符合要求。
<style>
<!--table
br {mso-data-placement:same-cell;}
tr {vertical-align:top;}
-->
</style>