SQL + HTMLスクリプトを使用して、テーブルmytable
の列を含む電子メールを送信しています。現在、すべての列タイトルを中央に整列させ、各列のエントリは右に[th]
と[td]
を使用して揃えています。 Vendor
列のエントリを左揃えにするにはどうしたらいいですか?
この問題は長い間私を悩ませています。私は救いの手を感謝します。SQL + HTMLスクリプトで生成された電子メールの列エントリのスタイル付け
if(@@ROWCOUNT>0)
begin
--drop table #email
DECLARE @Body2 varchar(max)
declare @TableHead2 varchar(max)
declare @TableTail varchar(max)
Set @TableTail = '</table></body></html>';
Set @TableHead2 = '<html><head>' +
'<hr style="height:1px;border:none;color:#333;background-color:#333;">'+
'<H5 style="color: #000000; font-family:Arial">2: VENDOR LEVEL TOP 5 OUTL $ <font color="blue">INCREMENTS -</font></H5>' +
'<style>' +
'td {border: solid black 1px;padding-left:5px;padding-right:5px;padding-top:1px;padding-bottom:1px;font-size:10pt;color:Black;text-align:right;font-family:Arial;} ' +
'th {border: solid black 1px;padding-left:5px;padding-right:5px;padding-top:1px;padding-bottom:1px;font-size:10pt;color:Black;text-align:center;font-family:Arial;} ' +
'</style>' +
'</head>' +
'<body><table cellpadding=0 cellspacing=0 border=0 width=auto>' +
'<tr bgcolor=#007336>'+
'<th><b><font color="white">Vendor_Name</font></b></th>' +
'<th><b><font color="white">OUTL$ New</font></b></th>' +
'<th><b><font color="white">OUTL$ Old</font></b></th>' +
'<th><b><font color="white">OUTL$ Diff</font></b></th>' +
'<th><b><font color="white">Analyst_Name</font></b></th></tr>';
--Select information for the Report--
Select @Body2= (select
Vendor_Name As [TD]
,OUTL_New_$ As [TD]
,OUTL_Old_$ As [TD]
,OUTL_Diff_$ As [TD]
,Analyst_Name As [TD]
from #mytable
For XML raw('tr'), Elements)
Set @Body = @TableHead2 + @Body2 + @TableTail
EXEC msdb.dbo.sp_send_dbmail
@recipients='[email protected]',
@subject = My analysis',
@body = @Body,
@body_format = 'HTML';
end
「TD」のタグが自分の割り当てられたスペースに合わせているので、私は一番左の「目」の「COLスパン」を修正し、その後、3列を定義しますタグを使用して、希望の幅に広げます(th colspan = "2")。これにより、テーブルが固定された状態に保たれます。 – Sparky256
@ Sparky256:単なる例です。 –
。セルがクラススタイリングを継承しないため、シンプルな表はコードページにすることができます。 – Sparky256