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

csv(テキスト)ファイルへ保存

SaveTextFile メソッドにより、 シート内のデータまたは書式付きデータは、デフォルトのタブ区切り形式、または独自の区切り形式によってテキストファイルに保存できます。
テキストファイルへの保存は、シート単位で行われます。
コントロール内の全シートを保存するには、シートごとに1つのテキスト ファイルに保存する必要があります。
また、SPREADには、さまざまなオプションを備える複数の SaveTextFile メソッドが用意されています。
たとえば、IncludeHeaders 列挙体の設定を使用すると、データとともにヘッダも保存するかどうかを指定できます。

コントロールのデータをタブ区切り形式で保存すると、タブ キャラクタと CR キャラクタで区切られたデータがファイルに保存されます。
タブ区切りファイルは、任意の標準テキスト エディタによるオープン、編集、および保存が可能です。
独自の区切り形式で保存すると、ユーザー定義のデリミタ(コンマ、引用符など)で区切られたデータがファイルに保存されます。

このサンプルではダウンロードボタンを押下するとSPREADのデータをCSV形式のファイルでダウンロードします。
 製品ID製品分類製品名第1Q第2Q第3Q第4Q
110001乳製品酪農ミルク5500500045006000
220001清涼飲料水いよかんドリンク1000300027002700
320002清涼飲料水ぶどうジュース3000350048004800
420003清涼飲料水マンゴードリンク200010005001050
530001ビール激辛ビール55008000850010000
630002ビールモルトビール3000350027804000
720004清涼飲料水ぶどうの街500300200700
830003ビールオリエントの村8000950095809000
940002焼酎吟醸 ほめごろし6000700090009500
1040003焼酎大吟醸 オリエント1000500060005000
1140005焼酎麦焼酎 ちこちこ1000150012001258
1210002乳製品酪農ミルク(低脂肪)501202380456

ソースコード

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

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

        // データ連結
        DataSet ds = new DataSet();
        ds.ReadXml(MapPath("../App_Data/datanum2.xml"));
        FpSpread1.DataSource = ds;

        // SPREAD初期化
        InitSpread(FpSpread1.Sheets[0]);
    }

    private void InitSpread(FarPoint.Web.Spread.SheetView sheet)
    {
        // SPREAD設定
        FpSpread1.CommandBar.Visible = false;
        FpSpread1.CssClass = "spreadStyle";
        FpSpread1.UseClipboard = false;

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

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

        // 列幅の設定
        sheet.Columns[0].Width = 45;
        sheet.Columns[1].Width = 85;
        sheet.Columns[2].Width = 221;
        sheet.Columns[3].Width = 65;
        sheet.Columns[4].Width = 65;
        sheet.Columns[5].Width = 65;
        sheet.Columns[6].Width = 65;

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

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

        // MemoryStreamに内容を出力
        System.IO.MemoryStream ms = new System.IO.MemoryStream();

        if (CheckBox1.Checked)
        {
            saveFlg = FarPoint.Web.Spread.Model.IncludeHeaders.ColumnHeadersCustomOnly;
        }
        else
        {
            saveFlg = FarPoint.Web.Spread.Model.IncludeHeaders.None;
        }

        FpSpread1.ActiveSheetView.SaveTextFile(ms, true, saveFlg, "\r\n", ",", "\"");

        // クライアント側に応答
        Response.Clear();
        Response.ContentType = "application/octet-stream";
        Response.AddHeader("Content-Disposition", "attachment;filename=spread.csv");
        Response.BinaryWrite(ms.ToArray());

        ms.Flush();
        ms.Close();
        Response.End();
    }
}

Partial Public Class savetextfile
    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 ds As New System.Data.DataSet()
        ds.ReadXml(MapPath("../App_Data/datanum2.xml"))
        FpSpread1.DataSource = ds

        ' SPREAD初期化
        InitSpread(FpSpread1.Sheets(0))
    End Sub

    Private Sub InitSpread(ByVal sheet As FarPoint.Web.Spread.SheetView)
        ' SPREAD設定
        FpSpread1.CommandBar.Visible = False
        FpSpread1.CssClass = "spreadStyle"
        FpSpread1.UseClipboard = False

        ' フォントサイズの設定
        sheet.DefaultStyle.Font.Size = FontUnit.Point(9)
        sheet.ColumnHeader.DefaultStyle.Font.Size = FontUnit.Point(9)
        sheet.RowHeader.DefaultStyle.Font.Size = FontUnit.Point(9)
        sheet.SheetCorner.DefaultStyle.Font.Size = FontUnit.Point(9)

        ' シート設定
        sheet.PageSize = sheet.RowCount

        ' 列幅の設定
        sheet.Columns(0).Width = 45
        sheet.Columns(1).Width = 85
        sheet.Columns(2).Width = 221
        sheet.Columns(3).Width = 65
        sheet.Columns(4).Width = 65
        sheet.Columns(5).Width = 65
        sheet.Columns(6).Width = 65

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

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

        ' MemoryStreamに内容を出力
        Dim ms As New System.IO.MemoryStream()
        Dim saveFlg As FarPoint.Web.Spread.Model.IncludeHeaders

        If CheckBox1.Checked Then
            saveFlg = FarPoint.Web.Spread.Model.IncludeHeaders.ColumnHeadersCustomOnly
        Else
            saveFlg = FarPoint.Web.Spread.Model.IncludeHeaders.None
        End If

        FpSpread1.ActiveSheetView.SaveTextFile(ms, True, saveFlg, vbCr & vbLf, ",", """")

        ' クライアント側に応答
        Response.Clear()
        Response.ContentType = "application/octet-stream"
        Response.AddHeader("Content-Disposition", "attachment;filename=spread.csv")
        Response.BinaryWrite(ms.ToArray())

        ms.Flush()
        ms.Close()
        Response.End()
    End Sub
End Class
<%@ Page MasterPageFile="~/MasterPage.master" Language="c#" AutoEventWireup="true"
    Inherits="savetextfile" CodeFile="savetextfile.aspx.cs" %>

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

<asp:Content ID="Content2" ContentPlaceHolderID="HeaderPlaceHolder1" runat="Server">
    <style type="text/css">
        .Exdiv {
            margin-bottom: 10px;
        }
    </style>
</asp:Content>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <div class="Exdiv">
        <asp:Button ID="Button1" runat="server" Style="margin-top: 10px" Width="200px" Height="30px" Text="ダウンロード" OnClick="Button1_Click" />
        <asp:CheckBox ID="CheckBox1" runat="server" Style="margin-left: 10px" Text="ヘッダを含める" />
    </div>
    <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>
</asp:Content>