在我的 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;");
%>
在“将 datas.del16 复制到 D:/file.xls DELIMITER ',' CSV HEADER”中,必须将“ D:/file.xls”替换为用户选择的路径。
谢谢, 卡西卡