2016-03-23 3 views
1

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 

答えて

0

font-family:Arial;私は 'align; left;を挿入しますその後、$記号の後ろに閉じたH5タグを追加し、新しいH5タグを追加します。
ここで見ているのは、表示されているテキスト全体に割り当てられた2つのスタイリングアトリビュートです。余分なクローズタグとオープンタグを使用して、別々の左右のH5ディスプレイを作成します。

右のH5には、float:rightコマンドが必要な場合もあります。また、margin-right:1pxを追加することもできます。 (正しいピクセル数を挿入して、必要な位置に正確に配置します)。

私はテーブルをたくさん扱っています。特に、ヘッダーを列と整列させる必要がある場合は、細部については悩ましいです。

表のセルはCSSを継承しません。それぞれのtdとthには独自のスタイルコマンドが必要です。私は、一般的な位置や色、フォント、フォントサイズなどにスタイル 'クラス'(時には 'h5'タグ)を使用しますが、スタイルタグをヘッダーに追加して、整列、浮動および余白の属性

0

<colgroup>タグを使用できます。

例:

<table> 
 
    <colgroup> 
 
    <col span="2" style="background-color:red"> 
 
    <col style="background-color:yellow"> 
 
    </colgroup> 
 
    <tr> 
 
    <th>ISBN</th> 
 
    <th>Title</th> 
 
    <th>Price</th> 
 
    </tr> 
 
    <tr> 
 
    <td>3476896</td> 
 
    <td>My first HTML</td> 
 
    <td>$53</td> 
 
    </tr> 
 
</table>

+0

「TD」のタグが自分の割り当てられたスペースに合わせているので、私は一番左の「目」の「COLスパン」を修正し、その後、3列を定義しますタグを使用して、希望の幅に広げます(th colspan = "2")。これにより、テーブルが固定された状態に保たれます。 – Sparky256

+0

@ Sparky256:単なる例です。 –

+0

。セルがクラススタイリングを継承しないため、シンプルな表はコードページにすることができます。 – Sparky256

関連する問題