excel导出 jxl.jar包

导入jxl.jar包, 代码如下:

package com.gree;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletRequest;

import jxl.Workbook;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
public class CreateExcel {

    public void createxcel(HttpServletResponse res,HttpServletRequest req) throws Exception{

        OutputStream os=null;
        WritableWorkbook wwb=null;

        ConnDB db=new ConnDB();
        String str="select * from user";
        ArrayList<Student> list=db.getList(str);
        try {
            java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd");
            String today = df.format(new java.util.Date());
     String fileName="改模时间报表-"+today;
            //System.out.println(fileName);
            fileName=new String(fileName.getBytes("gb2312"), "ISO8859_1");
            //System.out.println(fileName);
            HttpServletResponse response=res;
            HttpServletRequest request=req;

            response.reset();
            response.setContentType("APPLICATION/OCTET-STREAM");
            if (request.getHeader("User-Agent").indexOf("MSIE 5.5") != -1) { // MS
                response.setHeader("Content-Disposition", "filename="+fileName+".xls");
            } else {
                response.addHeader("Content-Disposition","attachment;filename="+fileName+".xls");
            }

            /**/
            os = response.getOutputStream();
            wwb = Workbook.createWorkbook(os);
            WritableSheet sheet = wwb.createSheet("sheet1", 0);
            jxl.write.WritableCell cell = null;

            WritableFont wf = new WritableFont(WritableFont.ARIAL,12,WritableFont.NO_BOLD,false,
            UnderlineStyle.NO_UNDERLINE,Colour.BLUE);
            WritableCellFormat formatH =  new WritableCellFormat(wf);
            formatH.setAlignment(jxl.format.Alignment.CENTRE);

            cell = new Label(0, 0,"用户表", formatH);
            sheet.addCell(cell);
            sheet.mergeCells(0,0,14,0);

            formatH = getFormat("BOLD", 9, Colour.BLACK);
            formatH.setAlignment(jxl.format.Alignment.CENTRE);
            formatH.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);

            WritableCellFormat format = getFormat("NOBOLD", 9, Colour.BLACK);
            //format.setAlignment(jxl.format.Alignment.LEFT);
            format.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);
            //
            cell = new Label(0, 1,"名字", formatH);
            sheet.addCell(cell);
            cell = new Label(1, 1,"密码", formatH);
            sheet.addCell(cell);
            cell = new Label(2, 1,"最后登录时间", formatH);
            sheet.addCell(cell);

            /**/

    for(int i=0;i<list.size();i++){

                cell = new Label(0, i+2, list.get(i).getName(), format);
                sheet.addCell(cell);
                cell = new Label(1, i+2, list.get(i).getPassword(), format);
                sheet.addCell(cell);
                cell = new Label(2, i+2, list.get(i).getLastlogintime(), format);
                sheet.addCell(cell);

sheet.setColumnView(0,10);
sheet.setColumnView(1,20);
sheet.setColumnView(2,20);

    }

wwb.write();

            wwb.close();
            os.close();
            response.setStatus(response.SC_OK);
            response.flushBuffer();
        } catch (RowsExceededException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (WriteException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

 WritableCellFormat getFormat(String style, int size, Colour color)
    {
    WritableFont wfc = null;
    if("BOLD".equals(style))
        wfc = new WritableFont(WritableFont.ARIAL, size, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, color);
    else
    if("NOBOLD".equals(style))
        wfc = new WritableFont(WritableFont.ARIAL, size, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, color);
    return new WritableCellFormat(wfc);
}

}

index.jsp中代码如下,创建该对象并 调用createxcel方法导出excel表格   

<%
  int opt;

  if(request.getParameter("opt")==null) opt=0;

  else opt=Integer.parseInt(request.getParameter("opt"));
  if(opt==1){

   CreateExcel excel=new CreateExcel();
   excel.createxcel(response, request);

   }
   else{

    %>

   <a href="index.jsp?opt=1">导出excel表格</a> &nbsp;
   <a href="importexcel.jsp">导入excel表格</a>&nbsp;
   <%}

   }

    %>
时间: 2024-11-08 19:48:04

excel导出 jxl.jar包的相关文章

解决eclipse中java项目导出成jar包后读写UTF-8文件中文乱码问题

最近遇到了一个小麻烦,就是在eclipse环境中读写UTF-8格式的txt文件时很正常,但是当导出成jar包后,通过点击来读写文件时出现了部分中文乱码问题. 解决办法: 开始时用的是FileReader和FileWriter来读写的,后来改成用InputStreamReader和OutputStreamWriter后问题解决 关键代码: BufferedReader reader; BufferedWriter writer; //reader = new BufferedReader(new 

Java项目导出源代码jar包在Eclipse中查看中文注释乱码的问题

问题现场: 由于项目比较多,全部添加到Maven主项目中的话虽然更新调试方便,但项目多了严重影响Eclipse的速度,所以将一部分项目单独导出包含源代码的jar包,上传到nexus上,供其它项目引用:但是在引用的项目中通过Eclipse查看时,中文注释都变成了乱码. 其实这是eclipse的默认编码造成的问题. 解决方案: 1.修改Eclipse中文本文件的默认编码: windows->Preferences->general->Workspace->Text file encod

关于IDEA导出项目jar包/runnable jar

将项目导出为jar包分为 runnable jar 与 普通jar包 一.导出为普通jar包 该jar包中只有项目源代码, java -cp wordcount.jar 用来运行普通jar包 1.打开 File > Project Structure > Artifacts 2.添加一个 Artifact( + > JAR > Empty) 3.输入这个jar的name('sampleName'),Name下面有这个jar包生成的路径(Output directory). 4.在O

Java项目导出为jar包+导出第三方jar包+使用命令行调用+传参

Java项目导出为jar包+导出第三方jar包+使用命令行调用+传参 一.打包 情况1:不需要向程序传参数,并且程序没有使用第三方jar包 Eclipse上导出jar: 然后选择一个java文件作为入库,需要带main()主函数: 情况2:向程序传参数,并且程序没有使用第三方jar包 这种情形下打包和情况1是一样的 情况3:程序使用了第三方jar包 这种情况下的打包要复杂一些,需要把第三方jar包一起导出,可以使用eclipse的插件fat jar,很简便,但是fat jar只支持eclipse

eclipse maven 项目导出为 jar 包

一个 maven 项目有很多依赖,所以最后打出的 jar 一般会很多,且比较大,打成 jar 包的步骤 (注意pom.xml文件中打包类型不能是war包): 1. 把 pom.xml 中依赖的库打成 jar 包:  在工程 pom.xml 所在的目录下,执行命令: mvn dependency:copy-dependencies 所依赖的jar包会导出到目录 target/dependency/中. 2. 把该 maven 项目打成一个 jar 包: 在工程 pom.xml 所在的目录下,执行命

excel表格的jar包

poi http://www.open-open.com/lib/view/open1433238476150.html http://blog.csdn.net/z1074907546/article/details/50556587 jxl http://blog.csdn.net/kevinwu629/article/details/5873758 http://www.cnblogs.com/mingforyou/archive/2013/08/26/3282922.html http:

maven打包的时候导出依赖jar包

<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy</id> <phase>install</phase

eclipse 导出jar包

(1)当自己写的工程中没有引用别人的jar包时 选中工程---->右键,Export...--->Java--->选择JAR file--->next-->选择jar file的路径及名称(就是要存储的地方和名字)-->next-->next--- 选择Main class--->finish. (2)当自己写的工程中引用别人的jar包时 首先,要将自己生成的jar包和引用到的别人的jar包放在同一文件夹下 其次,生成main文件: 选中工程---->

JXL.jar简单封装Excel读写操作

1.分析 一个excel文件可以有多页,每页excel中可以有多行,每行中可以有多列,用面向对象的思想可以把一行中的某列看作是一个String对象,一行看作是一个包含多个列的对象,一页是包含多行的对面,一个excle文件就是包含多页的对象 2.行对象的设计 package com.zhaochao.utils; import java.util.List; /** * * excel的行对象 * * @author 赵超 * */ public class ExcelRow { private