【セル型】パーセント型セルでNumberFormatInfo.PercentDecimalDigitsを設定してもExcelにエクスポートされない

文書番号 : 23988     文書種別 : 不具合     最終更新日 : 2007/06/22
文書を印刷する
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
動作保証環境と同様
状況
修正済み
詳細
小数点以下桁数をNumberFormatInfo.PercentDecimalDigitsで設定した場合、エクスポートされたExcelファイルでは小数点以下の桁数の設定が有効となりません。(DecimalDigitsプロパティで設定すると小数点以下の桁数の設定が有効となります)

[再現手順]
1.新規WebフォームにSPREADとButtonを配置します
2.下記サンプルコードをコピーします
3.アプリケーションを実行します
4.A1セルが「99.123%」と表示されます
5.Buttonを押下します
6.Excelファイルでは「99.12%」と表示されます

[サンプルコード]
  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Page.IsPostBack Then
      Return
    End If

    Dim ninfo As Globalization.NumberFormatInfo = CType(Globalization.CultureInfo.CurrentCulture.NumberFormat.Clone(), Globalization.NumberFormatInfo)
    ninfo.PercentDecimalDigits = 3

    Dim pc1 As New FarPoint.Web.Spread.PercentCellType
    pc1.NumberFormat = ninfo
    FpSpread1.ActiveSheetView.Columns(0).CellType = pc1
    FpSpread1.ActiveSheetView.Cells(0, 0).Value = 0.99123

    Dim pc2 As New FarPoint.Web.Spread.PercentCellType
    pc2.DecimalDigits = 3
    FpSpread1.ActiveSheetView.Columns(1).CellType = pc2
    FpSpread1.ActiveSheetView.Cells(0, 1).Value = 0.99123
  End Sub

  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim fp As String = HttpContext.Current.Server.MapPath(Request.ApplicationPath + "/test.xls")
    FpSpread1.SaveExcel(fp)
  End Sub
回避方法
2007/09/05版で修正済み。
キーワード
SPRN06225

この文書は、以前は次のバグレポートIDで公開されていました : 7008