【セル型】パーセント型セルでNumberFormatInfo.PercentDecimalDigitsを設定してもExcelにエクスポートされない
対象製品
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
[再現手順]
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