2012-02-05 2 views
2

HTMLテーブルをXLSファイルとして出力するClassic ASPスクリプトがありますが、キャリッジリターン/改行が1つのセル内で機能することはありませんでした。セル内にキャリッジリターンを持つ従来のASP XLS出力

私は私がキャリッジリターン/ラインフィードを挿入するための知っているすべての方法を試してみた 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> 

私は、HTMLタグを使用してExcel 2010年に最初の3例をXLSを開封しておりますキャリッジリターンを示すが、2行にわたってデータを分割します。残りの例では、1行にデータが表示されています。クラシックASPを使用して複数の行に分割せずにキャリッジリターンを使用してExcelフィールドに入力する方法はありますか?

EDIT:

明確にするために、私は、Excelのセル内でAlt-Enterキーを入力するの振る舞いを再現しようとしています。下のスクリーンショットでは、最初の3つの例では2つのセル(行1 & 2)に分割され、残りはすべて1行に表示されています。私は1つのセルで2行のテキストを達成しようとしています。改行を挿入するのに1つのセルにデータを保持するために使用できる他のコードはありますか?

Excel Screenshot

答えて

2

あなたのコード内の改行のマークアップと出力の表示の間にいくつかの混乱があるです。

マークアップ表示は最初の三つのTDの

enter image description here

キャリッジリターンの外観を与えると、第4〜第6及び第TDのHTMLソースの改行

enter image description here

を含みます

コメントとスクリーンショットごとにASPを編集

ページに次のスタイルを追加すると、最初のセルが必要に応じて動作することがわかります。

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

私は、Excelセル内で改行を試みたすべてのコードをリストしていました。私が試した方法のどれも働いていません。私は説明のためにスクリーンショットへのリンクを追加しました。マークアップのある最初の3つの例は、テキストを新しい行に分割するだけでなく、新しいセルにも分割します。私は同じセルに留まるためにテキストが必要です。 –

+0

@AlbertoSanchez - 編集された回答を参照 –

+0

これは完璧です!このコードの日付を考慮して、これを解決するための多くの希望はありませんでした。ありがとう! –

関連する問題