我正在将数据导出到JSP中的Excel工作表。
<%@page import="java.io.*"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFSheet"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFWorkbook"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFRow"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFCell"%>
<%
String inj1=request.getParameter("inj");
String ob=request.getParameter("ob");
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Excel Sheet");
HSSFRow rowhead = sheet.createRow((short)0);
rowhead.createCell((short)0).setCellValue("Injections");
rowhead.createCell((short)1).setCellValue("OB");
HSSFRow row = sheet.createRow((short)1);
row.createCell((short)0).setCellValue(inj1);
row.createCell((short)1).setCellValue(ob);
FileOutputStream fileOut = new FileOutputStream("c:\\Injection_Details.xls");
wb.write(fileOut);
fileOut.close();
out.println("Data is saved in excel file.");
%>
我收到错误
无法将HSSFWorkbook解析为类型
或
只能导入一种类型。 org.apache.poi.hssf.usermodel.HSSFSheet解析为包。
这是如何引起的?如何解决?
答案 0 :(得分:1)
无法将HSSFWorkbook解析为类型
这只是一个编译错误。类路径中缺少所提到的类。在这种特殊情况下,您需要确保在webapp的/WEB-INF/lib
文件夹(属于webapp的类路径)中删除了必需的Apache POI HSSF JAR文件。
此问题与JSP无关。在普通的Java类中,您将遇到完全相同的问题,其中所有Java代码实际上都是。
答案 1 :(得分:0)
一个简单的Excel导出,没有任何其他库:
ResultSet
写为JSP中的逗号分隔数据JSP代码;请注意JSP中没有换行符,因为这会破坏CSV到Excel的翻译:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><% response.setContentType("application/vnd.ms-excel");response.setHeader("Content-disposition","attachment;filename=export.csv"); %>
message_name,subject,sent_count,open_count,original_href,link_uuid,link_click_count
<c:forEach var="item" items="${myResultSet}">"<c:out value="${item.field1}" />","<c:out value="${item.field2}" />","<c:out value="${item.field3}" />"