2017-01-23 18 views
0

Я экспорт данных в файл Excel, создавая простую структуру HTML в VBScript, как это:Как поместить разрывы строк внутри ячейки при экспорте в 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

W Ith ваш 'Заменить()' примеры, если вы хотите заменить 'Chr (13),' vbCrLf' и т.д. Вы должны передать фактическое значение не? строковое представление этого значения - то есть 'Replace (Value,", ", vbCrLf)'. – Lankymart

ответ

-1

Уже понял это. Вместо "<br/>" вы должны просто использовать:

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

Уже ответил - [A: классический выход ASP XLS с возвратом каретки в ячейке] (http://stackoverflow.com/a/9158446/692942) – Lankymart

 Смежные вопросы

  • Нет связанных вопросов^_^