- PR -

JSPでExcel操作

1
投稿者投稿内容
rough
会議室デビュー日: 2007/12/22
投稿数: 3
投稿日時: 2007-12-25 11:29
JSPでExcelファイルを読み込むことはできるのですが、セルに値を入力するには
どのように記述すればよいのか教えていただけませんか?
よろしくお願いいたします。

プログラム一部
<%@ page contentType= "text/html;charset=Windows-31J" %>
<% request.setCharacterEncoding("Windows-31J"); %>
<html>
<body>
<%@page import="java.io.*"%>
<%@page import="org.apache.poi.poifs.filesystem.POIFSFileSystem"%>
<%@page import="org.apache.poi.hssf.usermodel.*"%>
<%
String Score1 = request.getParameter("score1");

int score1=Integer.parseInt(Score1);

String path = getServletContext().getRealPath("/Score.xls");
java.io.InputStream is = new java.io.FileInputStream(path);
POIFSFileSystem fs = new POIFSFileSystem(is);
HSSFWorkbook wb = new HSSFWorkbook(fs);
is.close();
HSSFSheet sheet = wb.getSheet("Sheet 1");
HSSFRow row = sheet.getRow(16);
HSSFCell cell = row.getCell((short)5);

cell.setCellValue(score1);
と記述したのですが、セルに値が書き込まれません。

[ メッセージ編集済み 編集者: rough 編集日時 2007-12-25 12:48 ]
Kazuki
ぬし
会議室デビュー日: 2004/10/13
投稿数: 298
投稿日時: 2007-12-25 13:02
書き込まれないのはどうやって確認しました?
Source.xlsにデータが書き込まれてないのかな?

もしそうだとしたら、保存してないからです。
保存するメソッドがあるので探してみてください。
(正確に覚えてないので即答できないので、すいません)
rough
会議室デビュー日: 2007/12/22
投稿数: 3
投稿日時: 2007-12-25 13:17
ご返答ありがとうございます。
え〜とScore.xlsにデータが書き込まれないのです。
保存するには、
java.io.OutputStream os = null;
os = new java.io.FileOutputStream(path);
wb.write(os);
と記述すればよいとわかりました。
とても助かりました。

[ メッセージ編集済み 編集者: rough 編集日時 2007-12-25 13:40 ]
Kazuki
ぬし
会議室デビュー日: 2004/10/13
投稿数: 298
投稿日時: 2007-12-25 18:19
保存すればいいと言っておいてなんですけど…
Webアプリの場合は、複数の人が同時に起動することがよくあるので、タイミングによってはExcelの内容の整合性が取れなくなる可能性が高いです。
どうすればいいか?ってのは、DB使うのが一番楽だと思います。
1

スキルアップ/キャリアアップ(JOB@IT)