Jakarta ee servlet中的excel电子表格
你好 我想用servlet编程构建excel电子表格。我在excel中使用了制表符分隔的数据Jakarta ee servlet中的excel电子表格,jakarta-ee,servlets,Jakarta Ee,Servlets,你好 我想用servlet编程构建excel电子表格。我在excel中使用了制表符分隔的数据 response.setContentType("application/vnd.ms-excel"); PrintWriter out=response.getWriter(); out.println("\t\tFruits"); out.println("\tName\tPrice"); out.println("\tApples"); out.println("\tMangoes"); 我的
response.setContentType("application/vnd.ms-excel");
PrintWriter out=response.getWriter();
out.println("\t\tFruits");
out.println("\tName\tPrice");
out.println("\tApples");
out.println("\tMangoes");
我的问题是我希望标题水果在中心,我的意思是我想合并单元格。我想要从单元格B2到D2的结果输出。合并单元格时我必须更新哪些内容。
我知道,如果我们创建一个表格数据,那么它需要rowspan和colspan属性,但是对于这个,使用什么呢 如果要生成一个完整的、完全兼容的Excel文件,应使用此库并创建该文件。这是很容易做到的-只要看一看。 然后您可以使用上面的代码为用户制作一个可下载的文件,即:
public class Sample extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
OutputStream out = null;
try
{
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=sampleName.xls");
// Put your POI code here
} catch (Exception e) {
throw new ServletException("Exception in Excel Sample Servlet", e);
} finally {
if (out != null)
out.close();
}
}
}
这里有一个完整的servlet示例
如果可以是XLSX文件,也可以使用
但是,如果您仍然想使用CSV/TSV文件,您仍然可以轻松地这样做
byte[] csv = dao.getYourContentHere();
response.setContentType("text/csv");
response.setHeader("Content-Disposition", "attachment; filename=data.csv"));
reponse.setContentLength(csv.length);
ServletOutputStream out = response.getOutputStream();
out.write(csv);
可以看出,上面的内容配置
部分有所不同
顺便说一句,如果你想生成CSV数据,你可以使用一个很棒的小型库,从中可以用Excel完全理解的方式格式化CSV/TSV文件。如果你想生成一个完整的、完全兼容的Excel文件,你应该使用这个库来创建该文件。这是很容易做到的-只要看一看。 然后您可以使用上面的代码为用户制作一个可下载的文件,即:
public class Sample extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
OutputStream out = null;
try
{
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=sampleName.xls");
// Put your POI code here
} catch (Exception e) {
throw new ServletException("Exception in Excel Sample Servlet", e);
} finally {
if (out != null)
out.close();
}
}
}
这里有一个完整的servlet示例
如果可以是XLSX文件,也可以使用
但是,如果您仍然想使用CSV/TSV文件,您仍然可以轻松地这样做
byte[] csv = dao.getYourContentHere();
response.setContentType("text/csv");
response.setHeader("Content-Disposition", "attachment; filename=data.csv"));
reponse.setContentLength(csv.length);
ServletOutputStream out = response.getOutputStream();
out.write(csv);
可以看出,上面的内容配置
部分有所不同
顺便说一句,如果想要生成CSV数据,可以使用一个很棒的小型库,从中可以以Excel完全理解的方式格式化CSV/TSV文件。谢谢,我只需要看一下您的解释。.如果可以使用我上面提到的选项卡分隔数据修改代码,请让我知道。.要做什么更改可能,但是您将创建一个TSV/CSV文件,而不是Excel文件。还有一个区别,因为CSV文件是由Excel导入的,而不是加载的。我将编辑答案以包括该选项…谢谢,我将只通过您的解释。如果可以使用我上面提到的选项卡分隔数据修改代码,请让我知道。要做什么更改?这是可能的,但是您将创建TSV/CSV文件,而不是Excel文件。还有一个区别,因为CSV文件是由Excel导入的,而不是加载的。我将编辑答案以包含该选项。。。