如何把换行符细胞内导出到Excel文件时

问题描述:

我通过生成在VBScript中一个普通的HTML结构,这样的数据导出到Excel文件:如何把换行符细胞内导出到Excel文件时

Response.ContentType = "application/vnd.ms-excel" 
Response.AddHeader "Content-Disposition", "attachment; filename=excelTime.xls" 
response.write "<table>" 
response.write "<tr>" 
response.write "<td>User Name</td>" 
... 

一些数据单元包含多个值,以逗号分隔。我在每一个单独的线,但在同一小区内写出这样的值的要求,没有逗号,像这样: enter image description here

就好像我已经把每一个值后Alt + Enter键在Excel中。我尝试使用VBScript替换()函数来代替换行逗号,像这样:

Response.write "<td>" & Replace(Value, ",", " <br/> ") & "</td>" 

但它打破了细胞成多个细胞,而不是:

enter image description here

我怎么能achive的期望的结果呢?我尝试了不同的变体,但没有任何帮助:

Replace(Value, ",", " vbCrLf ") 'does not put a line break 
Replace(Value, ",", " CHAR(13) ") 'puts the "CHAR(13)" text between values 
Replace(Value, ",", " \\n ") 'puts the "\\n" text between values 
Replace(Value, ",", " \n ") 'puts the "\n" text between values 
Replace(Value, ",", " \r ") 'puts the "\n" text between values 

也许你知道一些其他的方式来做到这一点?

+0

瓦特i个你'替换()'的例子,如果你想用'CHR(13)来代替','vbCrLf'等,你必须通过实际的值不是?该值的字符串表示 - 即'Replace(Value,“,”,vbCrLf)'。 – Lankymart

已经想通了。取而代之的"<br/>"你应该只使用:

Response.write "<td>" & Replace(Value, ",", " <br style='mso-data-placement:same-cell;' /> ") & "</td>" 
+0

已经回答 - [答:经典ASP XLS输出与单元格中的回车](http://*.com/a/9158446/692942) – Lankymart