gpt4 book ai didi

java - 如何在java中获取表格内容值?

转载 作者:行者123 更新时间:2023-11-29 08:47:15 25 4
gpt4 key购买 nike

在这里,我在 servlet 中获取表内容值 (datatoexport)。但是无法进入excel页面。下载时出现空白页面。在这里,我将表内容导出到 java 中的 excel。非常感谢您的帮助。

JSP 代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Export to Excel - Demo</title>
<script src="scripts.js"></script>
<script language="javascript">
function exportToExcel()
{
alert("test");
$("#datatoexport").val( $("<div>").append( $("#exportTableSelector").eq(0).clone() ).html() );
$('#myForm').submit();
}
</script>
</head>
<body>
<form id="myForm" action="Sample" method="post">
<table id="exportTableSelector" align="left" border="2">
<thead>
<tr bgcolor="lightgreen">
<th>Sr. No.</th>
<th>Text Data</th>
<th>Number Data</th>
</tr>
</thead>
<tbody>
<%
for (int i = 0; i < 10; i++) {
%>
<tr bgcolor="lightblue">
<td align="center"><%=i + 1%></td>
<td align="center">This is text data <%=i%></td>
<td align="center"><%=i * i%></td>
</tr>
<%
}
%>
</tbody>
</table>
<br><br>
<p>
some text
</p>

<input type="hidden" name="datatoexport" id="datatoexport" value="">
<input type="hidden" value="excel_download" name="fileName" id="fileName">

<a href="" onclick="exportToExcel();" target="_blank" >Export to Excel</a>
</form>
</body>
</html>

小服务程序:

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


/**
* Servlet implementation class Sample
*/
public class Sample extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public Sample() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub

System.out.println("Inside doGet");
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub

System.out.println("Inside doPost");
actionExportToExcel(request, response);

}

public void actionExportToExcel(HttpServletRequest request, HttpServletResponse response)
{
String fileName = request.getParameter("fileName");
System.out.println("filename: " +fileName);
String datatoexport = request.getParameter("datatoexport");
System.out.println("datatoexport: " +datatoexport);
response.setHeader("Content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=test_file.xls");
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0);
System.out.println("datatoexport" +datatoexport);
}

}

最佳答案

看起来您没有向响应写入任何数据。尝试添加

response.getWriter().write(datatoexport);
response.getWriter().flush();
response.getWriter().close();

关于java - 如何在java中获取表格内容值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24489249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com