私のJSPページでボタン(ダウンロード結果)を作成しました。ボタンをクリックすると、名前を付けて保存ダイアログボックスが表示されます。ユーザーは、ダウンロードしたファイルを保存するパスを選択します。ユーザーがダウンロード結果ボタンをクリックすると、テーブルからすべてのレコードが取得され、Excel ファイルに保存されます。このために、postgre にある COPY コマンドを使用しようとしています。
私のコード:
<%@page import="java.sql.ResultSetMetaData"%>
<%@page import="java.util.ArrayList"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFSheet"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFCell"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFRow"%>
<%@ page import="java.io.PrintWriter" %>
<%@ page contentType="application/excel" language="java" %>
<%
String fileName = "Result.xls";
String strHeader = "attachment;filename=" + fileName;
response.setContentType("application/vnd.ms-excel");
PrintWriter op = response.getWriter();
PostgresConnection dbCon = PostgresConnection.getInstance();
Connection con = dbCon.getConnection();
Statement st =con.createStatement();
response.setHeader("Content-disposition",strHeader);
st.execute("copy datas.del16 to D:/file.xls DELIMITER ',' CSV HEADER;");
%>
"copy datas.del16 to D:/file.xls DELIMITER ',' CSV HEADER ", " D:/file.xls" は、ユーザーが選択したパスに置き換える必要があります。
ありがとう、カーティカ