ナビゲーション リンクのスキップ
 新機能 の展開 新機能
 InputMan連携 の展開 InputMan連携
 マルチタッチ機能 の展開 マルチタッチ機能
 セル、行、列、ヘッダ の展開 セル、行、列、ヘッダ
 シート の展開 シート
 スタイル の展開 スタイル
 選択 の展開 選択
 セル型 の展開 セル型
 編集 の展開 編集
 ソート の展開 ソート
 フィルタリング の展開 フィルタリング
 グループ化 の展開 グループ化
 ページング の展開 ページング
 スクロール の展開 スクロール
 データ連結 の展開 データ連結
 階層表示 の展開 階層表示
 コマンドバー の展開 コマンドバー
 チャート の展開 チャート
 数式 の展開 数式
 インポート/エクスポート の縮小 インポート/エクスポート
 クライアント側スクリプト の展開 クライアント側スクリプト

PDFの保存

設定したレイアウトを維持したままPDFファイルにエクスポートすることができます。 コマンドバーにPDFボタンを表示することで、コーディングで実装する必要なく、 PDFエクスポートが実現できます。 また、シートのPrintInfoオブジェクトを設定することにより、出力範囲やヘッダ・フッタなどを 自由に設定できます。

このサンプルでは、コマンドバーのPDFボタンにより全件のデータが、「PDF出力」ボタンにより、 ドロップダウンリストで指定した範囲のデータがPDFファイルにエクスポートされます。
先頭行idx   先頭列idx   行数   列数
 ID氏名カナ生年月日性別血液型部署入社日メールアドレス
11001亀甲 滋万キコウ シゲマ1950/02/04A人事部1972/04/01sigema_kikou@abc.co.jp
21002寒田 希世カンダ キヨ1959/06/28B人事部1981/04/01kiyo_kanda@bbb.or.jp
31003小和瀬 澄オワセ キヨ1969/03/06A人事部1991/04/01kiyo_owase@aaa.co.jp
41004宇夫 早余子ウブ サヨコ1976/07/28O人事部1998/04/01sayoko_ubu@bbb.or.jp
51005宇田津 聖智ウダツ キヨトモ1965/09/04A営業部1987/04/01kiyotomo_udatu@abc.co.jp
61006茨城 昭児イバラキ ショウジ1963/04/28O営業部1985/04/01shouzi_ibaraki@xyz.ne.jp
71007石ヶ休 椎茄イシガキュウ シイナ1953/02/21O営業部1975/04/01siina_isigagyuu@abc.co.jp
81008赤司 恵治郎アカツカサ ケイジロウ1968/08/02O経理部1990/04/01keizirou_akatukasa@abc.co.jp
91009小橋 仰一オハシ ギョウイチ1972/03/02B経理部1994/04/01gyouiti_ohasi@abc.co.jp
101010一重 公大イチジュウ コウダイ1964/04/19B経理部1986/04/01koudai_itizyuu@xyz.ne.jp
    

ソースコード

別ウィンドウで表示
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

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

        // SPREADの設定
        InitSpread(FpSpread1);

        // シートの設定
        InitSpreadStyles(FpSpread1.Sheets[0]);

        // 選択リストの設定
        InitList();
    }

    private void InitSpread(FarPoint.Web.Spread.FpSpread spread)
    {
        spread.CssClass = "spreadStyle";
        spread.UseClipboard = false;

        // データ連結
        System.Data.DataSet ds = new System.Data.DataSet();
        ds.ReadXml(MapPath("../App_Data/data50.xml"));
        spread.DataSource = ds;
    }

    private void InitSpreadStyles(FarPoint.Web.Spread.SheetView sheet)
    {
        // フォントサイズの設定
        sheet.DefaultStyle.Font.Size = FontUnit.Point(10);
        sheet.ColumnHeader.DefaultStyle.Font.Size = FontUnit.Point(10);
        sheet.RowHeader.DefaultStyle.Font.Size = FontUnit.Point(10);
        sheet.SheetCorner.DefaultStyle.Font.Size = FontUnit.Point(10);

        // 列幅の設定
        sheet.Columns[0].Width = 45;
        sheet.Columns[1].Width = 110;
        sheet.Columns[2].Width = 110;
        sheet.Columns[3].Width = 100;
        sheet.Columns[4].Width = 50;
        sheet.Columns[5].Width = 50;
        sheet.Columns[6].Width = 50;
        sheet.Columns[7].Width = 100;
        sheet.Columns[8].Width = 240;

        // 縦方向の揃え位置を中央に設定
        sheet.DefaultStyle.VerticalAlign = VerticalAlign.Middle;
        
        FarPoint.Web.Spread.PrintInfo pi = new FarPoint.Web.Spread.PrintInfo();
        
        //ヘッダに「カラー」「イメージ」を設定します
        pi.Colors = new System.Drawing.Color[] { System.Drawing.Color.Purple, System.Drawing.Color.Green, System.Drawing.Color.Indigo };
        pi.Images = new System.Drawing.Image[] { System.Drawing.Image.FromFile(MapPath("~/images/gclogo.jpg")) };
        pi.Header = "/c/fz\"20\"/cl\"0\"/fb1/fu0/fi1 SPREAD for ASP.NET";
        pi.Footer = "/fn\"Arial\"/fz\"10\"/cl\"1\"/fb0/fu0/fi0/dl /ds /tl "
                     + "/c/fn\"Arial\"/fz\"10\"/cl\"2\"/p///pc Page /r/fn\"Times New Roman\"/fz\"14\"/cl\"1\"/fb1/fu0/fi1/g\"0\"";
        
        pi.ShowColor = true;
        pi.Centering = FarPoint.Web.Spread.Centering.Horizontal;

        // マージンの設定
        pi.Margin.Top = 20;
        pi.Margin.Left = 30;
        pi.Margin.Right = 30;
        pi.Margin.Bottom = 20;
        pi.Margin.Footer = 20;
        pi.Margin.Header = 20;

        //定義したPrintInfoオブジェクトを設定します
        sheet.PrintInfo = pi;
    }

    private void InitList()
    {
        for (int i = 0; i < FpSpread1.ActiveSheetView.RowCount; i++)
        {
            DDLstartrowidx.Items.Add(Convert.ToString(i));
        }

        for (int i = 1; i < FpSpread1.ActiveSheetView.RowCount + 1; i++)
        {
            DDLrowcnt.Items.Add(Convert.ToString(i));
        }

        for (int i = 0; i < FpSpread1.ActiveSheetView.ColumnCount; i++)
        {
            DDLstartcolidx.Items.Add(Convert.ToString(i));
        }
        for (int i = 1; i < FpSpread1.ActiveSheetView.ColumnCount + 1; i++)
        {
            DDLcolcnt.Items.Add(Convert.ToString(i));
        }

        DDLrowcnt.SelectedValue = FpSpread1.ActiveSheetView.RowCount.ToString();
        DDLcolcnt.SelectedValue = FpSpread1.ActiveSheetView.ColumnCount.ToString();
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        // クライアント側の変更を確定
        FpSpread1.SaveChanges();

        int rowidx = Convert.ToInt16(DDLstartrowidx.SelectedValue);
        int colidx = Convert.ToInt16(DDLstartcolidx.SelectedValue);
        int rowcnt = Convert.ToInt16(DDLrowcnt.SelectedValue);
        int colcnt = Convert.ToInt16(DDLcolcnt.SelectedValue);

        FpSpread1.ActiveSheetView.PrintInfo.PrintType = FarPoint.Web.Spread.PrintType.CellRange;

        FpSpread1.ActiveSheetView.PrintInfo.RowStart = rowidx;
        FpSpread1.ActiveSheetView.PrintInfo.RowEnd = rowidx + rowcnt - 1;
        FpSpread1.ActiveSheetView.PrintInfo.ColStart = colidx;
        FpSpread1.ActiveSheetView.PrintInfo.ColEnd = colidx + colcnt - 1;

        FpSpread1.SavePdfToResponse("spread.pdf");
    }
}
Partial Class importexport_printpdf
    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

        ' SPREADの設定
        InitSpread(FpSpread1)

        ' シートの設定
        InitSpreadStyles(FpSpread1.Sheets(0))

        ' 選択リストの設定
        InitList()
    End Sub

    Private Sub InitSpread(ByVal spread As FarPoint.Web.Spread.FpSpread)
        spread.CssClass = "spreadStyle"
        spread.UseClipboard = False

        ' データ連結
        Dim ds As New System.Data.DataSet()
        ds.ReadXml(MapPath("../App_Data/data50.xml"))
        spread.DataSource = ds
    End Sub

    Private Sub InitSpreadStyles(ByVal sheet As FarPoint.Web.Spread.SheetView)
        ' フォントサイズの設定
        sheet.DefaultStyle.Font.Size = FontUnit.Point(10)
        sheet.ColumnHeader.DefaultStyle.Font.Size = FontUnit.Point(10)
        sheet.RowHeader.DefaultStyle.Font.Size = FontUnit.Point(10)
        sheet.SheetCorner.DefaultStyle.Font.Size = FontUnit.Point(10)

        ' 列幅の設定
        sheet.Columns(0).Width = 45
        sheet.Columns(1).Width = 110
        sheet.Columns(2).Width = 110
        sheet.Columns(3).Width = 100
        sheet.Columns(4).Width = 50
        sheet.Columns(5).Width = 50
        sheet.Columns(6).Width = 50
        sheet.Columns(7).Width = 100
        sheet.Columns(8).Width = 240

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

        Dim pi As New FarPoint.Web.Spread.PrintInfo()

        'ヘッダに「カラー」「イメージ」を設定します
        pi.Colors = New System.Drawing.Color() {System.Drawing.Color.Purple, System.Drawing.Color.Green, System.Drawing.Color.Indigo}
        pi.Images = New System.Drawing.Image() {System.Drawing.Image.FromFile(MapPath("~/images/gclogo.jpg"))}
        pi.Header = "/c/fz""20""/cl""0""/fb1/fu0/fi1 SPREAD for ASP.NET"
        pi.Footer = "/fn""Arial""/fz""10""/cl""1""/fb0/fu0/fi0/dl /ds /tl " & "/c/fn""Arial""/fz""10""/cl""2""/p///pc Page /r/fn""Times New Roman""/fz""14""/cl""1""/fb1/fu0/fi1/g""0"""

        pi.ShowColor = True
        pi.Centering = FarPoint.Web.Spread.Centering.Horizontal

        ' マージンの設定
        pi.Margin.Top = 20
        pi.Margin.Left = 30
        pi.Margin.Right = 30
        pi.Margin.Bottom = 20
        pi.Margin.Footer = 20
        pi.Margin.Header = 20

        '定義したPrintInfoオブジェクトを設定します
        sheet.PrintInfo = pi
    End Sub

    Private Sub InitList()
        For i As Integer = 0 To FpSpread1.ActiveSheetView.RowCount - 1
            DDLstartrowidx.Items.Add(Convert.ToString(i))
        Next

        For i As Integer = 1 To FpSpread1.ActiveSheetView.RowCount
            DDLrowcnt.Items.Add(Convert.ToString(i))
        Next

        For i As Integer = 0 To FpSpread1.ActiveSheetView.ColumnCount - 1
            DDLstartcolidx.Items.Add(Convert.ToString(i))
        Next
        For i As Integer = 1 To FpSpread1.ActiveSheetView.ColumnCount
            DDLcolcnt.Items.Add(Convert.ToString(i))
        Next

        DDLrowcnt.SelectedValue = FpSpread1.ActiveSheetView.RowCount.ToString()
        DDLcolcnt.SelectedValue = FpSpread1.ActiveSheetView.ColumnCount.ToString()
    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        ' クライアント側の変更を確定
        FpSpread1.SaveChanges()

        Dim rowidx As Integer = Convert.ToInt16(DDLstartrowidx.SelectedValue)
        Dim colidx As Integer = Convert.ToInt16(DDLstartcolidx.SelectedValue)
        Dim rowcnt As Integer = Convert.ToInt16(DDLrowcnt.SelectedValue)
        Dim colcnt As Integer = Convert.ToInt16(DDLcolcnt.SelectedValue)

        FpSpread1.ActiveSheetView.PrintInfo.PrintType = FarPoint.Web.Spread.PrintType.CellRange

        FpSpread1.ActiveSheetView.PrintInfo.RowStart = rowidx
        FpSpread1.ActiveSheetView.PrintInfo.RowEnd = rowidx + rowcnt - 1
        FpSpread1.ActiveSheetView.PrintInfo.ColStart = colidx
        FpSpread1.ActiveSheetView.PrintInfo.ColEnd = colidx + colcnt - 1

        FpSpread1.SavePdfToResponse("spread.pdf")
    End Sub
End Class

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
    CodeFile="printpdf.aspx.cs" Inherits="importexport_printpdf" %>

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

<asp:Content ID="Content1" ContentPlaceHolderID="HeaderPlaceHolder1" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <table>
        <tr>
            <td>
                <asp:Button ID="Button1" runat="server" Text="PDF出力" OnClick="Button1_Click" />
            </td>
            <td>先頭行idx</td>
            <td>
                <asp:DropDownList ID="DDLstartrowidx" runat="server" AutoPostBack="false">
                </asp:DropDownList>
            </td>
            <td>&nbsp;</td>
            <td>先頭列idx</td>
            <td>
                <asp:DropDownList ID="DDLstartcolidx" runat="server" AutoPostBack="false">
                </asp:DropDownList>
            </td>
            <td>&nbsp;</td>
            <td>行数</td>
            <td>
                <asp:DropDownList ID="DDLrowcnt" runat="server" AutoPostBack="false">
                </asp:DropDownList>
            </td>
            <td>&nbsp;</td>
            <td>列数</td>
            <td>
                <asp:DropDownList ID="DDLcolcnt" runat="server" AutoPostBack="false">
                </asp:DropDownList>
            </td>
        </tr>
    </table>
    <FarPoint:FpSpread ID="FpSpread1" runat="server" BorderColor="#A0A0A0" BorderStyle="Solid"
        BorderWidth="1px">
        <CommandBar BackColor="#F6F6F6" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight"
            ButtonShadowColor="ControlDark" ShowPDFButton="True">
            <Background BackgroundImageUrl="SPREADCLIENTPATH:/img/cbbg.gif"></Background>
        </CommandBar>
        <Sheets>
            <FarPoint:SheetView SheetName="Sheet1">
            </FarPoint:SheetView>
        </Sheets>

        <TitleInfo BackColor="#E7EFF7" ForeColor="" HorizontalAlign="Center" VerticalAlign="NotSet" Font-Size="X-Large"></TitleInfo>
    </FarPoint:FpSpread>
</asp:Content>