作成日: 2018/10/30 最終更新日: 2018/12/18
文書種別
不具合
状況
修正済み
詳細
■事象
以下の状態のSPREADをExcelファイルに出力すると、出力されたファイル上で意図しない列が非表示になります。
【条件】
・ソートを行っている。
・任意の列を非表示にしている。
・BIFF形式(.xls)で出力している。
■再現用サンプルコード(VB.NET)
→出力されたExcelファイル上では3列目だけではなく、1列目も非表示になります。
以下の状態のSPREADをExcelファイルに出力すると、出力されたファイル上で意図しない列が非表示になります。
【条件】
・ソートを行っている。
・任意の列を非表示にしている。
・BIFF形式(.xls)で出力している。
■再現用サンプルコード(VB.NET)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 行・列数を設定します。
FpSpread1_Sheet1.RowCount = 3
FpSpread1_Sheet1.ColumnCount = 5
' セルにデータをセットします。
For rowIdx As Integer = 0 To FpSpread1_Sheet1.RowCount - 1
For colIdx As Integer = 0 To FpSpread1_Sheet1.ColumnCount - 1
FpSpread1_Sheet1.Cells(rowIdx, colIdx).Value = 20 - rowIdx - colIdx
Next
Next
' 2列目でソート(昇順)します。
FpSpread1.ActiveSheet.SortRows(1, True, True)
' 3列目を非表示にします。
FpSpread1.ActiveSheet.SetColumnVisible(2, False)
' Excelファイル(.xls)に出力します。
FpSpread1.SaveExcel("Sample.xls", FarPoint.Excel.ExcelSaveFlags.SaveAsViewed)
End Sub
' 行・列数を設定します。
FpSpread1_Sheet1.RowCount = 3
FpSpread1_Sheet1.ColumnCount = 5
' セルにデータをセットします。
For rowIdx As Integer = 0 To FpSpread1_Sheet1.RowCount - 1
For colIdx As Integer = 0 To FpSpread1_Sheet1.ColumnCount - 1
FpSpread1_Sheet1.Cells(rowIdx, colIdx).Value = 20 - rowIdx - colIdx
Next
Next
' 2列目でソート(昇順)します。
FpSpread1.ActiveSheet.SortRows(1, True, True)
' 3列目を非表示にします。
FpSpread1.ActiveSheet.SetColumnVisible(2, False)
' Excelファイル(.xls)に出力します。
FpSpread1.SaveExcel("Sample.xls", FarPoint.Excel.ExcelSaveFlags.SaveAsViewed)
End Sub
→出力されたExcelファイル上では3列目だけではなく、1列目も非表示になります。
回避方法
Service Pack 2(v11.0.4503.2012)で修正済み。
旧文書番号
83349