在servlet中调用

try
{
File fileWrite = new File("D:/Write.xls");
fileWrite.createNewFile();
OutputStream os = new FileOutputStream(fileWrite);
ExcelExport.excelExport(os);
response.sendRedirect("shijian.do?method=selSy3");
}
catch(Exception e)
{
e.printStackTrace();
}

将打印的主要代码封装成一个工具类

package cn.com.shxt.util;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Date;
import java.util.List;
import java.util.Map;

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

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

import cn.com.shxt.model.Administrator;
import cn.com.shxt.model.User;
import cn.com.shxt.service.AdministratorService;
import cn.com.shxt.service.ShiJianService;
import cn.com.shxt.service.UserService;
import cn.com.shxt.util.FileUploadTool;
import cn.com.shxt.util.Page;

public class ExcelExport extends HttpServlet {

/**
*
*/
private static final long serialVersionUID = -5824318581633781502L;
public static void excelExport(OutputStream os){
List<Map<String, String>> list = new ShiJianService().selSy4();
try{

WritableWorkbook wwb = Workbook.createWorkbook(os);

WritableSheet ws = wwb.createSheet("第一页",0);

Label label = new Label(0,0,"课程名称");
ws.addCell(label);
label = new Label(1,0,"教师姓名");
ws.addCell(label);
label = new Label(2,0,"学生姓名");
ws.addCell(label);
label = new Label(3,0,"实验名称");
ws.addCell(label);
label = new Label(4,0,"实验目的");
ws.addCell(label);
label = new Label(5,0,"实验要求");
ws.addCell(label);
label = new Label(6,0,"实验内容");
ws.addCell(label);
label = new Label(7,0,"实验心得");
ws.addCell(label);
label = new Label(8,0,"成绩");
ws.addCell(label);
label = new Label(9,0,"实验结果");
ws.addCell(label);
for(int i=0;i<list.size();i++){
label=new Label(0,i+1,list.get(i).get("cname"));
ws.addCell(label);
label=new Label(1,i+1,list.get(i).get("aname"));
ws.addCell(label);
label=new Label(2,i+1,list.get(i).get("s_name"));
ws.addCell(label);
label=new Label(3,i+1,list.get(i).get("sname"));
ws.addCell(label);
label=new Label(4,i+1,list.get(i).get("mudi"));
ws.addCell(label);
label=new Label(5,i+1,list.get(i).get("yaoqiu"));
ws.addCell(label);
label=new Label(6,i+1,list.get(i).get("content"));
ws.addCell(label);
label=new Label(7,i+1,list.get(i).get("xinde"));
ws.addCell(label);
label=new Label(8,i+1,list.get(i).get("cj"));
ws.addCell(label);
label=new Label(9,i+1,list.get(i).get("photo"));
ws.addCell(label);
}

wwb.write();
wwb.close();

}catch(Exception e){
System.out.println("生成信息表(Excel格式)时出错:");
e.printStackTrace();
}
}

public String getFileName(){
Date date=new Date();
Long dateL=date.getTime();
String fileName=dateL.toString()+".xls";
return fileName;
}
public void doGet(HttpServletRequest request,HttpServletResponse response){
System.out.print("hahahah");
String fileName=this.getFileName();
File fileWrite=new File("D:/"+fileName);
try {
fileWrite.createNewFile();
OutputStream os=new FileOutputStream(fileWrite);
this.excelExport(os);
response.sendRedirect("/ibatisTest/pages/sucess.jsp");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
try {
response.sendRedirect("/ibatisTest/pages/error.jsp");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
public static void main(String[] args) {
try
{

File fileWrite = new File("D:/taetWrite.xls");
fileWrite.createNewFile();
OutputStream os = new FileOutputStream(fileWrite);
ExcelExport.excelExport(os);
}
catch(Exception e)
{
e.printStackTrace();
}

}

}

将页面打印成excel的更多相关文章

  1. 关于jsp页面转换成excel格式下载遇到问题及解决

    jsp页面转成excel格式的实现思路: 1.使用poi包:poi-bin-3.9-20121203 下载连接地址:http://www.apache.org/dyn/closer.cgi/poi/r ...

  2. 利用Microsoft.Office.Interop.Excel 将web页面转成PDF

    网上有很多将Web页面转成PDF的方法,还有许多收费的第三方插件.其实利用Office 自带的将EXCEL发布成PDF的功能就可以实现,如果你的需求没有多复杂,可以采用笔者的方法. 首先将web页面h ...

  3. Microsoft.Office.Interop.Excel的用法以及利用Microsoft.Office.Interop.Excel将web页面转成PDF

    1.常见用法           using Microsoft.Office.Interop.Excel; 1)新建一个Excel ApplicationClass ExcelApp = New A ...

  4. 【04】基础:将采集结果转成Excel

    前面的教程说了,数据抓取完毕之后,数据以xml格式的形式存储在本地文件夹中. 下面简单地说一下如何将保存在本地的XML文件转成Excel格式. 第一步:压缩文件 进入本地DataScraperWork ...

  5. MySQL要导出成excel的方法

    MySQL 要导出成 excel 文件很简单,执行类似这样的命令:   select * from 某个表 into outfile  'd:/文件名.xls';   上述命令你在服务器上执行,就导在 ...

  6. 第十二篇 C# 将HTML 直接转成Excel

    前些天写项目的时候,客户要求用HTML表格把信息展示出来,后面还要用展示的内容要导出Excel.本来想想在后台操作的话估计是要做死了,但是经过细想,Excel能够发布成HTML,一定也可以由HTML转 ...

  7. 如何将WORD表格转换成EXCEL表格

    WORD和EXCEL都可以制作表格,但WORD表格与EXCEL表格之间有着很明显的差距,所以在办公中经常会需要将WORD转换成EXCEL,今天小编就教大家一招将WORD表格转换成EXCEL表格. 操作 ...

  8. 怎样将PDF文件转换成Excel表格

    PDF文件怎样转换成Excel表格呢?因为很多的数据信息现在都是通过PDF文件进行传输的,所以很多时候,信息的接受者都需要将这些PDF文件所传输的数据信息转换成Excel表格来进行整理,但是我们应该怎 ...

  9. 利用itext将html页面转成pdf(不模糊)

    1.maven项目进入依赖 <dependency> <groupId>org.xhtmlrenderer</groupId> <artifactId> ...

随机推荐

  1. 本地mysql数据库root密码丢失修改方法

      1,停止数据库 2,cd /etc/mysql 3,利用vim命令打开mysql配置文件my.cnf,在mysqld进程配置文件中添加skip-grant-tables,添加完成后,执行wd保存. ...

  2. Java数组和C++异同

    一.定义和初始化 1.Jave定义和初始化: Java:两种方式 Type[]  A; Type A[]; 定义时不能指定数组的长度 静态初始化:   A = new Type[][Ele1,Ele2 ...

  3. vue学习笔记

    来公司以后就一直在用vue框架,不管是业务代码,还是做vue组件.关于vue有一些点是文档中没有提及的,记录一下以便以后查询- 一.Vue的特点 新一代 Vue.js 框架非常关注如何用极少的外部特性 ...

  4. CoInitialize浅析二

    最近工作比较忙,在粗略分析了CoInitialize之后我们一直没有再深入研究,下面言归正传.前面我们初步了解到了CoInitialize其实是通过调用CoInitializeEx来实现功能的,而后者 ...

  5. ArcGIS图层介绍

    什么是图层 图层是用来在 ArcGIS 产品套件中显示地理数据集的机制.每个图层代表一种数据集(可以是地图服务.图形或是矢量数据),并指定该数据集是如何描绘使用一组属性的. 包含一个地图控件的每个应用 ...

  6. 分布式blog系统 TFS总结

    解决的问题 文件总量太大  一台服务器无法存放 只能放在网络集群中分节点存放   也就是通过屏蔽网络部分 形成一个“ one big CPU” 和 “one big disk” .Client只需要向 ...

  7. A Look At Android Support Annotations

    转自:https://asce1885.gitbooks.io/android-rd-senior-advanced/content/shen_ru_qian_chu_android_support_ ...

  8. dotproject 2.1.8 甘特图中文乱码解决

    1.安装中文语言包 下载地址为http://www.dotproject.net/dpDownloads/Language_Packs/Chinese_Simplified_(GBK)/dotproj ...

  9. web view调h5的方法死活调不到

    (WebViewJavascriptBridge注册方法都能调用,只有callhandlename时无论如何也没响应)这个问题真是纠缠我好久了 webview评论区刷新问题终于找到原因了 ,我试着把咨 ...

  10. 信号量 semaphore 和 @synchronized 的运用

    1. //创建全局队列 dispatch_queue_t queue = dispatch_get_global_queue(0, 0); //创建信号量 dispatch_semaphore_t s ...