【セル型】 連続した半角スペースが 1文字分のスペースに置換される

文書番号 : 35427     文書種別 : 使用方法     登録日 : 2013/03/01     最終更新日 : 2014/07/23
文書を印刷する
対象製品
SPREAD for ASP.NET 7.0J
詳細
SPREADでは、セルの設定やデータに応じてHTMLのコードを生成しており、SPREADのセルはHTMLテーブルのTD要素となっております。
例えば、以下のようなHTMLが生成された場合、ブラウザ上では連続する半角スペースを、1つの半角スペースとして表示します。

 <td class="FpSpread1s0s1">a  b     c</td>

ブラウザ上で、連続する半角スペースを1つの半角スペースとして表示したくない場合は、以下の対応方法が考えられます。

■方法1
CssClassを利用します。

◎サンプルコード(VB)
-----------------------
Webフォームクラス
-----------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  If Page.IsPostBack Then
    Return
  End If

  Dim gc As New FarPoint.Web.Spread.GeneralCellType
  gc.CssClass = "CssStyle1"
  FpSpread1.ActiveSheetView.Columns(0).CellType = gc

  Dim data As String = "a  b     c"
  FpSpread1.ActiveSheetView.Cells(0, 0).Value = data
  FpSpread1.ActiveSheetView.Cells(0, 1).Value = data
End Sub
-------------------------------
HTML
-------------------------------
<style type="text/css">
.CssStyle1 { white-space:pre }
</style>


◎サンプルコード(C#)
-----------------------
Webフォームクラス
-----------------------
protected void Page_Load(object sender, EventArgs e)
{
  if (Page.IsPostBack)
  {
    return;
  }

  FarPoint.Web.Spread.GeneralCellType gc = new FarPoint.Web.Spread.GeneralCellType();
  gc.CssClass = "CssStyle1";
  FpSpread1.ActiveSheetView.Columns[0].CellType = gc;

  string data = "a  b     c";
  FpSpread1.ActiveSheetView.Cells[0, 0].Value = data;
  FpSpread1.ActiveSheetView.Cells[0, 1].Value = data;
}
-------------------------------
HTML
-------------------------------
※VBと同じです

■方法2
テキスト型セルのAllowWrap プロパティを False に設定します。

◎サンプルコード(VB)
-----------------------
Webフォームクラス
-----------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  If Page.IsPostBack Then
    Return
  End If

  Dim tc As New FarPoint.Web.Spread.TextCellType
  tc.AllowWrap = False
  FpSpread1.ActiveSheetView.Columns(0).CellType = tc

  Dim data As String = "a  b     c"
  FpSpread1.ActiveSheetView.Cells(0, 0).Value = data
  FpSpread1.ActiveSheetView.Cells(0, 1).Value = data
End Sub


◎サンプルコード(C#)
-----------------------
Webフォームクラス
-----------------------
protected void Page_Load(object sender, EventArgs e)
{
  if (Page.IsPostBack)
  {
    return;
  }

  FarPoint.Web.Spread.TextCellType tc = new FarPoint.Web.Spread.TextCellType();
  tc.AllowWrap = False;
  FpSpread1.ActiveSheetView.Columns[0].CellType = tc;

  string data = "a  b     c";
  FpSpread1.ActiveSheetView.Cells[0, 0].Value = data;
  FpSpread1.ActiveSheetView.Cells[0, 1].Value = data;
}