Excel エクスポート時の結果をカスタマイズしたい
対象製品
SPREAD for .NET 2.5J Web Forms Edition
詳細
SPREADのデータをExcel ファイルにエクスポートする際、セルの書式設定やページ設定(印刷の向き、用紙サイズ、拡大縮小印刷等)等を独自にカスタマイズすることはできません。
セル型の設定を変更したり、行を追加するなどのカスタマイズは可能です。
以下のサンプルコードでは、A2セルをハイパーリンク型セルからテキスト型に変更することで、エクスポートされるExcel ファイルのA2セルをハイパーリンクのURL(http://www.grapecity.com/tools/)からSPREADのセルに表示されているテキスト(GrapeCity)に変更しています。
また、行を追加して最終行に数式を設定しています。
◎サンプルコード(VB)
◎サンプルコード(C#)
セル型の設定を変更したり、行を追加するなどのカスタマイズは可能です。
以下のサンプルコードでは、A2セルをハイパーリンク型セルからテキスト型に変更することで、エクスポートされるExcel ファイルのA2セルをハイパーリンクのURL(http://www.grapecity.com/tools/)からSPREADのセルに表示されているテキスト(GrapeCity)に変更しています。
また、行を追加して最終行に数式を設定しています。
◎サンプルコード(VB)
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Return
End If
Dim r As Random = New Random(DateTime.Now.Hour * DateTime.Now.Minute * DateTime.Now.Second + DateTime.Now.Millisecond)
Dim i As Integer
Dim hlc As New FarPoint.Web.Spread.HyperLinkCellType()
hlc.NavigateUrl = "http://www.grapecity.com/tools/"
FpSpread1.ActiveSheetView.Cells(1, 0).CellType = hlc
FpSpread1.ActiveSheetView.Cells(1, 0).Value = "GrapeCity"
For i = 0 To FpSpread1.ActiveSheetView.RowCount - 1
' ランダムな数値データを設定
FpSpread1.ActiveSheetView.Cells(i, 1).Value = r.Next(0, 100)
Next i
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
' クライアントの変更を確定
FpSpread1.SaveChanges()
' シートの保護を解除
FpSpread1.ActiveSheetView.Protect = False
Dim hlc As New FarPoint.Web.Spread.HyperLinkCellType
hlc = CType(FpSpread1.ActiveSheetView.GetCellType(1, 0), FarPoint.Web.Spread.HyperLinkCellType)
Dim tc As New FarPoint.Web.Spread.TextCellType
FpSpread1.ActiveSheetView.Cells(1, 0).CellType = tc
' 行の追加
FpSpread1.ActiveSheetView.AddRows(FpSpread1.ActiveSheetView.RowCount, 1)
FpSpread1.ActiveSheetView.Cells(FpSpread1.ActiveSheetView.RowCount - 1, 0).Value = "合計"
FpSpread1.ActiveSheetView.Cells(FpSpread1.ActiveSheetView.RowCount - 1, 1).Formula = "SUM(B1:B3)"
' Excel ファイルにエクスポート
Dim pathname As String = HttpContext.Current.Server.MapPath(Request.ApplicationPath & "/")
FpSpread1.SaveExcel(pathname + "test.xls")
' シートの保護
FpSpread1.ActiveSheetView.Protect = True
FpSpread1.ActiveSheetView.Cells(1, 0).CellType = hlc
' 行の削除
FpSpread1.ActiveSheetView.RemoveRows(FpSpread1.ActiveSheetView.RowCount - 1, 1)
End Sub
If IsPostBack Then
Return
End If
Dim r As Random = New Random(DateTime.Now.Hour * DateTime.Now.Minute * DateTime.Now.Second + DateTime.Now.Millisecond)
Dim i As Integer
Dim hlc As New FarPoint.Web.Spread.HyperLinkCellType()
hlc.NavigateUrl = "http://www.grapecity.com/tools/"
FpSpread1.ActiveSheetView.Cells(1, 0).CellType = hlc
FpSpread1.ActiveSheetView.Cells(1, 0).Value = "GrapeCity"
For i = 0 To FpSpread1.ActiveSheetView.RowCount - 1
' ランダムな数値データを設定
FpSpread1.ActiveSheetView.Cells(i, 1).Value = r.Next(0, 100)
Next i
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
' クライアントの変更を確定
FpSpread1.SaveChanges()
' シートの保護を解除
FpSpread1.ActiveSheetView.Protect = False
Dim hlc As New FarPoint.Web.Spread.HyperLinkCellType
hlc = CType(FpSpread1.ActiveSheetView.GetCellType(1, 0), FarPoint.Web.Spread.HyperLinkCellType)
Dim tc As New FarPoint.Web.Spread.TextCellType
FpSpread1.ActiveSheetView.Cells(1, 0).CellType = tc
' 行の追加
FpSpread1.ActiveSheetView.AddRows(FpSpread1.ActiveSheetView.RowCount, 1)
FpSpread1.ActiveSheetView.Cells(FpSpread1.ActiveSheetView.RowCount - 1, 0).Value = "合計"
FpSpread1.ActiveSheetView.Cells(FpSpread1.ActiveSheetView.RowCount - 1, 1).Formula = "SUM(B1:B3)"
' Excel ファイルにエクスポート
Dim pathname As String = HttpContext.Current.Server.MapPath(Request.ApplicationPath & "/")
FpSpread1.SaveExcel(pathname + "test.xls")
' シートの保護
FpSpread1.ActiveSheetView.Protect = True
FpSpread1.ActiveSheetView.Cells(1, 0).CellType = hlc
' 行の削除
FpSpread1.ActiveSheetView.RemoveRows(FpSpread1.ActiveSheetView.RowCount - 1, 1)
End Sub
◎サンプルコード(C#)
protected void Page_Load(object sender, EventArgs e)
{
if (this.IsPostBack)
{
return;
}
Random r = new Random(DateTime.Now.Hour * DateTime.Now.Minute * DateTime.Now.Second + DateTime.Now.Millisecond);
int i;
FarPoint.Web.Spread.HyperLinkCellType hlc = new FarPoint.Web.Spread.HyperLinkCellType();
hlc.NavigateUrl = "http://www.grapecity.com/tools/";
FpSpread1.ActiveSheetView.Cells[1, 0].CellType = hlc;
FpSpread1.ActiveSheetView.Cells[1, 0].Value = "GrapeCity";
for (i = 0; i <= FpSpread1.ActiveSheetView.RowCount - 1; i++)
{
// ランダムな数値データを設定
FpSpread1.ActiveSheetView.Cells[i, 1].Value = r.Next(0, 100);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
// クライアントの変更を確定
FpSpread1.SaveChanges();
// シートの保護を解除
FpSpread1.ActiveSheetView.Protect = false;
FarPoint.Web.Spread.HyperLinkCellType hlc = new FarPoint.Web.Spread.HyperLinkCellType();
hlc = (FarPoint.Web.Spread.HyperLinkCellType)FpSpread1.ActiveSheetView.GetCellType(1, 0);
FarPoint.Web.Spread.TextCellType tc = new FarPoint.Web.Spread.TextCellType();
FpSpread1.ActiveSheetView.Cells[1, 0].CellType = tc;
// 行の追加
FpSpread1.ActiveSheetView.AddRows(FpSpread1.ActiveSheetView.RowCount, 1);
FpSpread1.ActiveSheetView.Cells[FpSpread1.ActiveSheetView.RowCount - 1, 0].Value = "合計";
FpSpread1.ActiveSheetView.Cells[FpSpread1.ActiveSheetView.RowCount - 1, 1].Formula = "SUM(B1:B3)";
// Excel ファイルにエクスポート
string pathname = HttpContext.Current.Server.MapPath(Request.ApplicationPath + "/");
FpSpread1.SaveExcel(pathname + "test.xls");
// シートの保護
FpSpread1.ActiveSheetView.Protect = true;
FpSpread1.ActiveSheetView.Cells[1, 0].CellType = hlc;
// 行の削除
FpSpread1.ActiveSheetView.RemoveRows(FpSpread1.ActiveSheetView.RowCount - 1, 1);
}
{
if (this.IsPostBack)
{
return;
}
Random r = new Random(DateTime.Now.Hour * DateTime.Now.Minute * DateTime.Now.Second + DateTime.Now.Millisecond);
int i;
FarPoint.Web.Spread.HyperLinkCellType hlc = new FarPoint.Web.Spread.HyperLinkCellType();
hlc.NavigateUrl = "http://www.grapecity.com/tools/";
FpSpread1.ActiveSheetView.Cells[1, 0].CellType = hlc;
FpSpread1.ActiveSheetView.Cells[1, 0].Value = "GrapeCity";
for (i = 0; i <= FpSpread1.ActiveSheetView.RowCount - 1; i++)
{
// ランダムな数値データを設定
FpSpread1.ActiveSheetView.Cells[i, 1].Value = r.Next(0, 100);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
// クライアントの変更を確定
FpSpread1.SaveChanges();
// シートの保護を解除
FpSpread1.ActiveSheetView.Protect = false;
FarPoint.Web.Spread.HyperLinkCellType hlc = new FarPoint.Web.Spread.HyperLinkCellType();
hlc = (FarPoint.Web.Spread.HyperLinkCellType)FpSpread1.ActiveSheetView.GetCellType(1, 0);
FarPoint.Web.Spread.TextCellType tc = new FarPoint.Web.Spread.TextCellType();
FpSpread1.ActiveSheetView.Cells[1, 0].CellType = tc;
// 行の追加
FpSpread1.ActiveSheetView.AddRows(FpSpread1.ActiveSheetView.RowCount, 1);
FpSpread1.ActiveSheetView.Cells[FpSpread1.ActiveSheetView.RowCount - 1, 0].Value = "合計";
FpSpread1.ActiveSheetView.Cells[FpSpread1.ActiveSheetView.RowCount - 1, 1].Formula = "SUM(B1:B3)";
// Excel ファイルにエクスポート
string pathname = HttpContext.Current.Server.MapPath(Request.ApplicationPath + "/");
FpSpread1.SaveExcel(pathname + "test.xls");
// シートの保護
FpSpread1.ActiveSheetView.Protect = true;
FpSpread1.ActiveSheetView.Cells[1, 0].CellType = hlc;
// 行の削除
FpSpread1.ActiveSheetView.RemoveRows(FpSpread1.ActiveSheetView.RowCount - 1, 1);
}
キーワード
Excelインポート/エクスポート
この文書は、以前は次のFAQ IDで公開されていました : 11188