行列の固定を行った場合、ヘッダセルをExcelファイルにエクスポートすると固定領域の位置がずれる

文書番号 : 39134     文書種別 : 不具合     登録日 : 2015/10/09     最終更新日 : 2015/11/09
文書を印刷する
対象製品
SPREAD for WPF 1.0J
状況
修正済み
詳細
行列の固定の設定を行った場合、ヘッダセルをExcelファイルにエクスポートするとSPREADで固定されていたセルがエクスポートしたExcelファイルで固定されません。

【手順】
1.新規ウィンドウにSPREADとButtonを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.ボタンをクリックしてエクスポートされたExcelファイルを開きます
   --固定領域の位置がずれます

【サンプルコード】
  Public Sub New()
    InitializeComponent()

    ' テストデータの設定
    For i As Integer = 0 To GcSpreadGrid1.RowCount - 1
      For j As Integer = 0 To GcSpreadGrid1.ColumnCount - 1
        GcSpreadGrid1.Cells(i, j).Value = "R=" & i.ToString() & "C=" & j.ToString()
      Next
    Next

    GcSpreadGrid1.FrozenRowCount = 1
    GcSpreadGrid1.FrozenColumnCount = 1
  End Sub

  Private Sub Button1_Click(sender As Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
    ' xlsファイルにエクスポート
    Dim s As New GrapeCity.Windows.SpreadGrid.ExcelSaveSettings()
    s.IncludeRowHeader = True
    s.IncludeColumnHeader = True
    GcSpreadGrid1.SaveExcel("test.xls", s)
  End Sub
回避方法
Service Pack 2(v1.0.2015.1109)で修正済み。
Service Pack 2(v1.0.2015.1109)より前のバージョンでは次の回避方法が有効です。
------------------------------------------

Excelファイルへのエクスポート前後でヘッダセルの分固定領域を変更します。

【サンプルコード】
  Private Sub Button1_Click(sender As Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
    ' xlsファイルにエクスポート
    Dim s As New GrapeCity.Windows.SpreadGrid.ExcelSaveSettings()
    s.IncludeRowHeader = True
    s.IncludeColumnHeader = True

    ' エクスポート前にヘッダセルの分、固定領域を変更
    Dim oldFRow As Integer = GcSpreadGrid1.FrozenRowCount
    Dim oldFCol As Integer = GcSpreadGrid1.FrozenColumnCount
    GcSpreadGrid1.FrozenRowCount += GcSpreadGrid1.ColumnHeader.RowCount
    GcSpreadGrid1.FrozenColumnCount += GcSpreadGrid1.RowHeader.ColumnCount

    GcSpreadGrid1.SaveExcel("test.xls", s)

    ' 固定領域の再設定
    GcSpreadGrid1.FrozenRowCount = oldFRow
    GcSpreadGrid1.FrozenColumnCount = oldFCol
  End Sub