Excelエクスポート時に非表示の列や行を出力しない方法はありますか?
対象製品
SPREAD for Windows Forms 7.0J
詳細
列のVisibleプロパティをFalseにした場合、表示上の列は非表示になりますがSPREADの実データ(データモデル)が影響を受けることはありません。一方、Excelファイルにエクスポート時にはデータモデルのデータをもとにエクスポートするため、画面の表示と一致しない場合があります。このような場合には、エクスポート用の一時的なSPREADを生成してそのシートの特定列を削除することで実現できます。
◎サンプルコード(VB)
◎サンプルコード(C#)
◎サンプルコード(VB)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' 現在のSPREADのアクティブシートをXML文字列に変換します。
Dim XMLString As String = FarPoint.Win.Serializer.GetObjectXml(CType(FpSpread1.ActiveSheet, FarPoint.Win.ISerializeSupport), "Sheet1")
' XML文字列からSheetViewオブジェクトを生成します。
Dim sv As New FarPoint.Win.Spread.SheetView
FarPoint.Win.Serializer.SetObjectXml(CType(sv, FarPoint.Win.ISerializeSupport), XMLString, "Sheet1")
' Excelエクスポート用の一時的なSPREADを生成し、SheetViewオブジェクトを追加します。
Dim temp As New FarPoint.Win.Spread.FpSpread
temp.Sheets.Add(sv)
' 列を削除します。
temp.Sheets(0).RemoveColumns(2, 1)
' Excelファイルへエクスポートします。
temp.SaveExcel("..¥..¥spread.xls")
' 一時的なSPREADを削除します。
temp.Dispose()
temp = Nothing
End Sub
' 現在のSPREADのアクティブシートをXML文字列に変換します。
Dim XMLString As String = FarPoint.Win.Serializer.GetObjectXml(CType(FpSpread1.ActiveSheet, FarPoint.Win.ISerializeSupport), "Sheet1")
' XML文字列からSheetViewオブジェクトを生成します。
Dim sv As New FarPoint.Win.Spread.SheetView
FarPoint.Win.Serializer.SetObjectXml(CType(sv, FarPoint.Win.ISerializeSupport), XMLString, "Sheet1")
' Excelエクスポート用の一時的なSPREADを生成し、SheetViewオブジェクトを追加します。
Dim temp As New FarPoint.Win.Spread.FpSpread
temp.Sheets.Add(sv)
' 列を削除します。
temp.Sheets(0).RemoveColumns(2, 1)
' Excelファイルへエクスポートします。
temp.SaveExcel("..¥..¥spread.xls")
' 一時的なSPREADを削除します。
temp.Dispose()
temp = Nothing
End Sub
◎サンプルコード(C#)
private void button1_Click(object sender, EventArgs e)
{
// 現在のSPREADのアクティブシートをXML文字列に変換します。
String XMLString = FarPoint.Win.Serializer.GetObjectXml((FarPoint.Win.ISerializeSupport)fpSpread1.ActiveSheet, "Sheet1");
// XML文字列からSheetViewオブジェクトを生成します。
FarPoint.Win.Spread.SheetView sv = new FarPoint.Win.Spread.SheetView();
FarPoint.Win.Serializer.SetObjectXml((FarPoint.Win.ISerializeSupport)sv, XMLString, "Sheet1");
// Excelエクスポート用の一時的なSPREADを生成し、SheetViewオブジェクトを追加します。
FarPoint.Win.Spread.FpSpread temp = new FarPoint.Win.Spread.FpSpread();
temp.Sheets.Add(sv);
// 列を削除します。
temp.Sheets[0].RemoveColumns(2, 1);
// Excelファイルへエクスポートします。
temp.SaveExcel("..¥¥..¥¥spread.xls");
// 一時的なSPREADを削除します。
temp.Dispose();
temp = null;
}
{
// 現在のSPREADのアクティブシートをXML文字列に変換します。
String XMLString = FarPoint.Win.Serializer.GetObjectXml((FarPoint.Win.ISerializeSupport)fpSpread1.ActiveSheet, "Sheet1");
// XML文字列からSheetViewオブジェクトを生成します。
FarPoint.Win.Spread.SheetView sv = new FarPoint.Win.Spread.SheetView();
FarPoint.Win.Serializer.SetObjectXml((FarPoint.Win.ISerializeSupport)sv, XMLString, "Sheet1");
// Excelエクスポート用の一時的なSPREADを生成し、SheetViewオブジェクトを追加します。
FarPoint.Win.Spread.FpSpread temp = new FarPoint.Win.Spread.FpSpread();
temp.Sheets.Add(sv);
// 列を削除します。
temp.Sheets[0].RemoveColumns(2, 1);
// Excelファイルへエクスポートします。
temp.SaveExcel("..¥¥..¥¥spread.xls");
// 一時的なSPREADを削除します。
temp.Dispose();
temp = null;
}
関連情報
- パスワードで保護されたExcelファイルをインポートしたい。またはエクスポート時にパスワードを設定したい
- Excel 2010に対応していますか?
- OpenExcelメソッド呼び出しによりExcelファイルをインポートした場合、設定されているセル属性や印刷設定情報はシートに対してどのように反映されますか?
- Excelファイルへのインポート/エクスポート機能を使用する場合、Microsoft Excelをインストールする必要はありますか?
- 出力したExcelファイルを印刷する際に「ヘッダの非表示」や「ヘッダ・フッタ文字列の出力」を行うことはできますか?
キーワード
「Excel」