マルチシート

SPREADコントロールには、1つまたは複数のシートを追加できます。 デフォルトでは、コントロールは「Sheet 1」という名前の1つのシートを持ち、 このシートは「インデックス0」として参照されます (シートのインデックスは0から始まる)。

コードから Count プロパティの値を変更するだけで、シート数を簡単に変更できます。 新規のシートを定義するか、Add メソッドを使用することで、シートを明示的に追加することもできます。

このサンプルでは、Addメソッドによってシートを追加しています。
 製品ID製品分類製品名4月計画5月計画6月計画7月計画8月計画9月計画10月計画11月計画12月計画1月計画2月計画3月計画
110001乳製品酪農ミルク5,5005,0004,5006,0005,5005,0004,5006,0005,5005,0004,5006,000
220001清涼飲料水いよかんドリンク1,0003,0002,7002,7001,0003,0002,7002,7001,0003,0002,7002,700
320002清涼飲料水ぶどうジュース3,0003,5004,8004,8003,0003,5004,8004,8003,0003,5004,8004,800
420003清涼飲料水マンゴードリンク2,0001,0005001,0502,0001,0005001,0502,0001,0005001,050
530001ビール激辛ビール5,5008,0008,50010,0005,5008,0008,50010,0005,5008,0008,50010,000
630002ビールモルトビール3,0003,5002,7804,0003,0003,5002,7804,0003,0003,5002,7804,000
720004清涼飲料水ぶどうの街500300200700500300200700500300200700
830003ビールオリエントの村8,0009,5009,5809,0008,0009,5009,5809,0008,0009,5009,5809,000
940002焼酎吟醸 ほめごろし6,0007,0009,0009,5006,0007,0009,0009,5006,0007,0009,0009,500
1040003焼酎大吟醸 オリエント1,0005,0006,0005,0001,0005,0006,0005,0001,0005,0006,0005,000
 計画シート  実績シート 


ソースコード

別ウィンドウで表示
using System;
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Configuration;

public partial class multisheet : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack) return;

        // シート追加
        FarPoint.Web.Spread.SheetView sht = new FarPoint.Web.Spread.SheetView();
        FpSpread1.Sheets.Add(sht);

        // シート名設定
        FpSpread1.Sheets[0].SheetName ="計画シート";
        FpSpread1.Sheets[1].SheetName ="実績シート";

        // セル型の自動設定を無効化
        FpSpread1.Sheets[0].DataAutoCellTypes = false;
        FpSpread1.Sheets[1].DataAutoCellTypes = false;

        // データ連結
        DataSet ds1 = new DataSet();
        ds1.ReadXml(MapPath("../App_Data/datapln.xml"));
        FpSpread1.Sheets[0].DataSource = ds1;

        DataSet ds2 = new DataSet();
        ds2.ReadXml(MapPath("../App_Data/datares.xml"));
        FpSpread1.Sheets[1].DataSource = ds2;

        FarPoint.Web.Spread.SheetView sheet1 = FpSpread1.Sheets[0];
        FarPoint.Web.Spread.SheetView sheet2 = FpSpread1.Sheets[1];

        // SPREAD設定
        FpSpread1.CommandBar.Visible = false;
        FpSpread1.CssClass = "spreadStyle";
        FpSpread1.UseClipboard = false;

        // シート設定
        InitSpread(sheet1);
        InitSpread(sheet2);
    }

    private void InitSpread(FarPoint.Web.Spread.SheetView sheet)
    {

        // シート設定
        sheet.PageSize = sheet.RowCount;

        // フォントサイズの設定
        sheet.DefaultStyle.Font.Size = FontUnit.Parse("80%");
        sheet.ColumnHeader.DefaultStyle.Font.Size = FontUnit.Parse("80%");
        sheet.RowHeader.DefaultStyle.Font.Size = FontUnit.Parse("80%");
        sheet.SheetCorner.DefaultStyle.Font.Size = FontUnit.Parse("80%");

        // 列幅の設定
        sheet.Columns[0].Width = 45;
        sheet.Columns[1].Width = 70;
        sheet.Columns[2].Width = 140;
        for (int i = 3; i < sheet.ColumnCount; i++)
        {
            sheet.Columns[i].Width = 65;
        }

        // 縦方向の揃え位置を中央に設定
        sheet.DefaultStyle.VerticalAlign = VerticalAlign.Middle;

        // 各列のセル型を設定
        FarPoint.Web.Spread.GeneralCellType gnr = new FarPoint.Web.Spread.GeneralCellType();
        gnr.FormatString = "#,##0";
        sheet.Columns[3, sheet.ColumnCount - 1].CellType = gnr;
        sheet.Columns[3, sheet.ColumnCount - 1].HorizontalAlign = HorizontalAlign.Right;       
    }
}

Partial Public Class multisheet
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If IsPostBack Then
            Return
        End If

        ' シート追加
        Dim sht As New FarPoint.Web.Spread.SheetView()
        FpSpread1.Sheets.Add(sht)

        ' シート名設定
        FpSpread1.Sheets(0).SheetName = "計画シート"
        FpSpread1.Sheets(1).SheetName = "実績シート"

        ' セル型の自動設定を無効化
        FpSpread1.Sheets(0).DataAutoCellTypes = False
        FpSpread1.Sheets(1).DataAutoCellTypes = False

        ' データ連結
        Dim ds1 As New System.Data.DataSet()
        ds1.ReadXml(MapPath("../App_Data/datapln.xml"))
        FpSpread1.Sheets(0).DataSource = ds1

        Dim ds2 As New System.Data.DataSet()
        ds2.ReadXml(MapPath("../App_Data/datares.xml"))
        FpSpread1.Sheets(1).DataSource = ds2

        Dim sheet1 As FarPoint.Web.Spread.SheetView = FpSpread1.Sheets(0)
        Dim sheet2 As FarPoint.Web.Spread.SheetView = FpSpread1.Sheets(1)

        ' SPREAD設定
        FpSpread1.CommandBar.Visible = False
        FpSpread1.CssClass = "spreadStyle"
        FpSpread1.UseClipboard = False

        ' シート設定
        InitSpread(sheet1)
        InitSpread(sheet2)
    End Sub

    Private Sub InitSpread(ByVal sheet As FarPoint.Web.Spread.SheetView)
        ' シート設定
        sheet.PageSize = sheet.RowCount

        ' フォントサイズの設定
        sheet.DefaultStyle.Font.Size = FontUnit.Parse("80%")
        sheet.ColumnHeader.DefaultStyle.Font.Size = FontUnit.Parse("80%")
        sheet.RowHeader.DefaultStyle.Font.Size = FontUnit.Parse("80%")
        sheet.SheetCorner.DefaultStyle.Font.Size = FontUnit.Parse("80%")

        ' 列幅の設定
        sheet.Columns(0).Width = 45
        sheet.Columns(1).Width = 70
        sheet.Columns(2).Width = 140
        For i As Integer = 3 To sheet.ColumnCount - 1
            sheet.Columns(i).Width = 65
        Next

        ' 縦方向の揃え位置を中央に設定
        sheet.DefaultStyle.VerticalAlign = VerticalAlign.Middle

        ' 各列のセル型を設定
        Dim gnr As New FarPoint.Web.Spread.GeneralCellType()
        gnr.FormatString = "#,##0"
        sheet.Columns(3, sheet.ColumnCount - 1).CellType = gnr
        sheet.Columns(3, sheet.ColumnCount - 1).HorizontalAlign = HorizontalAlign.Right
    End Sub
End Class
<%@ Page MasterPageFile="~/MasterPage.master" Language="c#" AutoEventWireup="true" 
         Inherits="multisheet" CodeFile="multisheet.aspx.cs" %>

<%@ Register Assembly="FarPoint.Web.SpreadJ" Namespace="FarPoint.Web.Spread" TagPrefix="FarPoint" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <farpoint:FpSpread ID="FpSpread1" runat="server" BorderColor="#A0A0A0" BorderStyle="Solid"
        BorderWidth="1px">
        <CommandBar BackColor="#F6F6F6" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight"
            ButtonShadowColor="ControlDark" />
        <Sheets>
            <farpoint:SheetView SheetName="Sheet1">
            </farpoint:SheetView>
        </Sheets>
    </farpoint:FpSpread>
    <br />
</asp:Content>