HTTPレスポンスのヘッダーをMS-Excelに設定する
setContentType()メソッドで、コンテンツタイプ(MIMEタイプ)に"application/vnd.ms-excel"を設定すると、
MicroSoft社のExcelシートを生成することが出来ます。
ExcelはHTMLのテーブルをExcelデータとして取り扱います。
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ExamContentTypeExcel extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("application/vnd.ms-excel");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<table>");
out.println("<tr><td>" + "Hello" + "</td>" + "<td>" + "Servlet" + "</td></tr");
out.println("<tr><td>" + "1" + "</td>" + "<td>" + "2" + "</td></tr");
out.println("</table>");
out.println("</body>");
out.println("</html>");
}
}
<実行結果>
ブラウザから、http://localhost:8080/bigcare2/servlet/ExamContentTypeExcel
と入力すると、以下の応答画面が表示されます。
![]() もちろんブラウザがMIMEタイプでMS−Excelに対応していなければ、いけません。 IEはデフォルトで対応していますが、その他のブラウザはMIMEタイプの設定が必要と思われます。 |