Excelファイルの読込
インポートボタンを押下すると、Open XML形式のファイルをSPREADへロードします。
クリアボタンを押下するとSPREADのデータがクリアされます。
※SPREADがインポート可能なのは、BIFF8形式(.xls)と
Open XML形式(.xlsx)のExcelファイルです。
BIFF8形式はBIFF8形式は、Microsoft Excelのいくつかのバージョン
(Excel 97、Excel 2000、Excel 2002(Office XP)、Excel 2003)
を表すファイル形式です
ファイルの種類
ソースコード
別ウィンドウで表示
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_openexcelfile : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
return;
}
// 初期化
InitSpread(FpSpread1.Sheets[0]);
}
private void InitSpread(FarPoint.Web.Spread.SheetView sheet)
{
// SPREAD設定
FpSpread1.CommandBar.Visible = false;
FpSpread1.CssClass = "spreadStyle";
FpSpread1.UseClipboard = false;
// シート設定
sheet.PageSize = sheet.RowCount;
// 縦方向の揃え位置を中央に設定
sheet.DefaultStyle.VerticalAlign = VerticalAlign.Middle;
}
protected void Button1_Click(object sender, EventArgs e)
{
// クライアント側の変更を確定
FpSpread1.SaveChanges();
bool ret;
string filepath = Server.MapPath("~/App_Data/");
string filename;
if (DropDownList1.SelectedValue == "xls")
{
filename = filepath + "spread.xls";
}
else
{
filename = filepath + "spread.xlsx";
}
// Execlファイルよりデータを読み込み
try
{
// Excelファイルからインポート
ret = FpSpread1.OpenExcel(filename, FarPoint.Excel.ExcelOpenFlags.RowAndColumnHeaders);
if (ret == false)
{
Response.Write("エラー:ファイルを開けません。ファイルパス:" + filepath);
}
else
{
InitSpread(FpSpread1.Sheets[0]);
}
}
catch (System.Exception ex)
{
Response.Write(ex.Message.ToString());
}
}
protected void Button2_Click(object sender, EventArgs e)
{
// クライアント側の変更を確定
FpSpread1.SaveChanges();
// Spreadコントロールをクリア
FpSpread1.Reset();
// 初期化
FpSpread1.CommandBar.Visible = false;
FpSpread1.CssClass = "spreadStyle";
FpSpread1.UseClipboard = false;
FarPoint.Web.Spread.SheetView wkSheet = new FarPoint.Web.Spread.SheetView();
FpSpread1.Sheets.Add(wkSheet);
}
protected void Button3_Click(object sender, EventArgs e)
{
// クライアント側の変更を確定
FpSpread1.SaveChanges();
string filepath = Server.MapPath("~/App_Data/");
string filename;
Response.ContentType = "application/VND.ms-excel";
if (DropDownList1.SelectedValue == "xls")
{
Response.AddHeader("Content-Disposition", "attachment;filename=spread.xls");
filename = filepath + "spread.xls";
}
else
{
Response.AddHeader("Content-Disposition", "attachment;filename=spread.xlsx");
filename = filepath + "spread.xlsx";
}
Response.Flush();
Response.WriteFile(filename);
Response.End();
}
}
|
Partial Class importexport_openexcelfile
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Return
End If
' 初期化
InitSpread(FpSpread1.Sheets(0))
End Sub
Private Sub InitSpread(sheet As FarPoint.Web.Spread.SheetView)
' SPREAD設定
FpSpread1.CommandBar.Visible = False
FpSpread1.CssClass = "spreadStyle"
FpSpread1.UseClipboard = False
' シート設定
sheet.PageSize = sheet.RowCount
' 縦方向の揃え位置を中央に設定
sheet.DefaultStyle.VerticalAlign = VerticalAlign.Middle
End Sub
Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
' クライアント側の変更を確定
FpSpread1.SaveChanges()
Dim ret As Boolean
Dim filepath As String = Server.MapPath("~/App_Data/")
Dim filename As String
If DropDownList1.SelectedValue = "xls" Then
filename = filepath & "spread.xls"
Else
filename = filepath & "spread.xlsx"
End If
' Execlファイルよりデータを読み込み
Try
' Excelファイルからインポート
ret = FpSpread1.OpenExcel(filename, FarPoint.Excel.ExcelOpenFlags.RowAndColumnHeaders)
If ret = False Then
Response.Write("エラー:ファイルを開けません。ファイルパス:" & filepath)
Else
InitSpread(FpSpread1.Sheets(0))
End If
Catch ex As System.Exception
Response.Write(ex.Message.ToString())
End Try
End Sub
Protected Sub Button2_Click(sender As Object, e As System.EventArgs) Handles Button2.Click
' クライアント側の変更を確定
FpSpread1.SaveChanges()
' Spreadコントロールをクリア
FpSpread1.Reset()
' 初期化
FpSpread1.CommandBar.Visible = False
FpSpread1.CssClass = "spreadStyle"
FpSpread1.UseClipboard = False
Dim wkSheet As New FarPoint.Web.Spread.SheetView()
FpSpread1.Sheets.Add(wkSheet)
End Sub
Protected Sub Button3_Click(sender As Object, e As System.EventArgs) Handles Button3.Click
' クライアント側の変更を確定
FpSpread1.SaveChanges()
Dim filepath As String = Server.MapPath("~/App_Data/")
Dim filename As String
Response.ContentType = "application/VND.ms-excel"
If DropDownList1.SelectedValue = "xls" Then
Response.AddHeader("Content-Disposition", "attachment;filename=spread.xls")
filename = filepath & "spread.xls"
Else
Response.AddHeader("Content-Disposition", "attachment;filename=spread.xlsx")
filename = filepath & "spread.xlsx"
End If
Response.Flush()
Response.WriteFile(filename)
Response.End()
End Sub
End Class
|
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
CodeFile="openexcelfile.aspx.cs" Inherits="importexport_openexcelfile" %>
<%@ 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">
<asp:Label ID="Label1" runat="server" Text="ファイルの種類"></asp:Label>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Value="xls">BIFF8(xls)</asp:ListItem>
<asp:ListItem Value="xlsx">Open XML(xlsx)</asp:ListItem>
</asp:DropDownList>
<br />
<asp:Button ID="Button1" runat="server" Text="Excelファイルのインポート"
onclick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="SPREADのクリア"
onclick="Button2_Click" />
<asp:Button ID="Button3" runat="server" Text="インポートファイルのダウンロード"
onclick="Button3_Click" />
<FarPoint:FpSpread ID="FpSpread1" runat="server" BorderColor="#A0A0A0" BorderStyle="Solid"
BorderWidth="1px">
<CommandBar BackColor="#F6F6F6" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight"
ButtonShadowColor="ControlDark">
</CommandBar>
<Sheets>
<FarPoint:SheetView SheetName="Sheet1">
</FarPoint:SheetView>
</Sheets>
</FarPoint:FpSpread>
</asp:Content>
|