JSPでエクセルのデータを参照、更新する方法
JSPでエクセルのデータを参照、更新する方法をメモっておく。
準備
エクセルデータの作成
まずは、参照、更新するエクセルファイルを作成しておく必要がある。ここでは、以下のようなサンプルを予め作成した。
テーブル名の設定
次に、テーブルとして使用した表をマウスで選択する。そして、「挿入」−「名前」−「定義」を選択する。ここでは、SQL文で使用するテーブル名を定義する。サンプルでは、「tb_name」とした。
ODBCへの登録
最後に、JSPからアクセスできるようにODBCへ作成したエクセルデータを登録する。コントロールパネルの「管理ツール」の中の「データ ソース (ODBC)」を起動する。
「システムDSN」タブを選択し、「追加」ボタンを押す。「データソースの新規作成」画面が表示されるので、ドライバの一覧から、「Microsoft Excel Driver (*.xls)」を選択する。
「データソース名」の指定と、「ブックの選択」を行う。そして、忘れてならないのは、オプション。「オプション」にある「読み取り専用」のチェックを外しておこう。これを外していないと、更新することはできない。
サンプルコード(参照)
<%@ page language="java" contentType="text/html; charset=windows-31j"
pageEncoding="windows-31j" import="java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-31j">
<title>JSPでエクセルデータを操作</title>
</head>
<body>
<table border="1">
<tr>
<th>名前</th><th>年齢</th><th>住所</th>
</tr>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection db = DriverManager.getConnection("jdbc:odbc:excel","","");
Statement objSql = db.createStatement();
ResultSet rs = objSql.executeQuery("SELECT * FROM tb_name");
while(rs.next()){
%>
<tr>
<td><%= rs.getString("name") %></td>
<td><%= rs.getString("age") %></td>
<td><%= rs.getString("address") %></td>
</tr>
<%
}
objSql.close();
db.close();
%>
</table>
</body>
</html>
実行結果
サンプルコード(更新)
<%@ page language="java" contentType="text/html; charset=windows-31j"
pageEncoding="windows-31j" import="java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-31j">
<title>JSPでエクセルデータを操作</title>
</head>
<body>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection db = DriverManager.getConnection("jdbc:odbc:excel","","");
Statement objSql = db.createStatement();
objSql.executeUpdate("UPDATE tb_name SET age=50 WHERE id=1");
objSql.close();
db.close();
%>
<p>更新しました。</p>
</body>
</html>
このコードを実行した後、再び、参照のコードを実行すると、「田中太朗」さんの年齢が50に変更される。excelを直接開いて確認するのもよいだろう。
トラックバック(0)
このブログ記事に対するトラックバックURL: http://itsmemo.com/mt/mt-tb.cgi/105
※スパム防止のため、管理人がトラックバック内容確認後、公開されます。
コメントする