【Excel】SPREADとエクスポートしたExcelファイルの列幅が異なる
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
動作保証環境と同様
状況
修正済み
詳細
エクスポートされたExcelファイルでは、SPREADで設定した列幅よりも大きい値が設定されます。
【手順】
1.新規WebフォームにSPREADとButtonを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.ボタンを押下してExcelファイルにエクスポートします
4.SPREADとExcelの列幅が異なります。
SPREAD:100ピクセル
Excel:117ピクセル
【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Return
End If
FpSpread1.ActiveSheetView.Cells(1, 1).Value = "test"
FpSpread1.ActiveSheetView.Columns(1).Width = 100
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
' クライアント側の変更を確定
FpSpread1.SaveChanges()
Dim pathname As String = HttpContext.Current.Server.MapPath(Request.ApplicationPath & "/")
FpSpread1.ActiveSheetView.Protect = False
' Excelファイルにエクスポート
FpSpread1.SaveExcel(pathname + "test.xls")
FpSpread1.ActiveSheetView.Protect = True
End Sub
【手順】
1.新規WebフォームにSPREADとButtonを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.ボタンを押下してExcelファイルにエクスポートします
4.SPREADとExcelの列幅が異なります。
SPREAD:100ピクセル
Excel:117ピクセル
【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Return
End If
FpSpread1.ActiveSheetView.Cells(1, 1).Value = "test"
FpSpread1.ActiveSheetView.Columns(1).Width = 100
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
' クライアント側の変更を確定
FpSpread1.SaveChanges()
Dim pathname As String = HttpContext.Current.Server.MapPath(Request.ApplicationPath & "/")
FpSpread1.ActiveSheetView.Protect = False
' Excelファイルにエクスポート
FpSpread1.SaveExcel(pathname + "test.xls")
FpSpread1.ActiveSheetView.Protect = True
End Sub
回避方法
2009/05/27版で修正済み。
キーワード
SPRN07197
この文書は、以前は次のバグレポートIDで公開されていました : 7836