`

java通过JXL生成EXCEL XLS 文件下载

 
阅读更多
写道
 需要导入jxl.jar 包
public class GenExcel {
  public void createExcel(OutputStream os) throws WriteException,IOException{
	  //创建工作薄
	  WritableWorkbook workbook = Workbook.createWorkbook(os);
	  //创建新的一页
	  WritableSheet sheet = workbook.createSheet("First Sheet", 0);
	  //创建要显示的内容,创建一个单元格, 第一个参数为列坐标,第二个为行坐标,第三个参数为内容
	  Label xuexiao = new Label(0,0,"学校");
	  sheet.addCell(xuexiao);
	   Label zhuanye = new Label(1,0,"专业");
       sheet.addCell(zhuanye);
       Label jingzhengli = new Label(2,0,"专业竞争力");
       sheet.addCell(jingzhengli);
       
       Label qinghua = new Label(0,1,"清华大学");
       sheet.addCell(qinghua);
       Label jisuanji = new Label(1,1,"计算机专业");
       sheet.addCell(jisuanji);
       Label gao = new Label(2,1,"高");
       sheet.addCell(gao);
       
       Label beida = new Label(0,2,"北京大学");
       sheet.addCell(beida);
       Label falv = new Label(1,2,"法律专业");
       sheet.addCell(falv);
       Label zhong = new Label(2,2,"中");
       sheet.addCell(zhong);
       
       Label ligong = new Label(0,3,"北京理工大学");
       sheet.addCell(ligong);
       Label hangkong = new Label(1,3,"航空专业");
       sheet.addCell(hangkong);
       Label di = new Label(2,3,"低");
       sheet.addCell(di);
       
       //把创建的内容写入到输出流中
       
       workbook.write();
       workbook.close();
       os.close();
  }
}
 
import java.io.IOException;
import java.io.OutputStream;
import java.util.Calendar;
import java.util.Date;

import jxl.Workbook;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.write.Boolean;
import jxl.write.DateFormats;
import jxl.write.DateTime;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
public class MutiStyleExcelWrite {
	public void createExcel(OutputStream os) throws WriteException,IOException{
		 //创建工作薄
        WritableWorkbook workbook = Workbook.createWorkbook(os);
        //创建新的一页
        WritableSheet sheet = workbook.createSheet("First Sheet", 0);
        //构造表头
        sheet.mergeCells(0, 0, 4, 0);//添加合并单元格,第一个参数是起始列,第二个参数是起始行,第三个参数是终止列,第四个参数是终止行
        WritableFont bold = new WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD);//设置字体种类和黑体显示,字体为Arial,字号大小为10,采用黑体显示
        WritableCellFormat titleFormate = new WritableCellFormat(bold);//生成一个单元格样式控制对象
        titleFormate.setAlignment(jxl.format.Alignment.CENTRE);//单元格中的内容水平方向居中
        titleFormate.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//单元格的内容垂直方向居中
        Label title = new Label(0,0,"JExcelApi支持数据类型详细说明",titleFormate);
        sheet.setRowView(0, 600, false);//设置第一行的高度
        sheet.addCell(title);
        
        //创建要显示的具体内容
        WritableFont color = new WritableFont(WritableFont.ARIAL);//选择字体
        color.setColour(Colour.GOLD);//设置字体颜色为金黄色
        WritableCellFormat colorFormat = new WritableCellFormat(color);
        Label formate = new Label(0,1,"数据格式",colorFormat);
        sheet.addCell(formate);
        Label floats = new Label(1,1,"浮点型");
        sheet.addCell(floats);
        Label integers = new Label(2,1,"整型");
        sheet.addCell(integers);
        Label booleans = new Label(3,1,"布尔型");
        sheet.addCell(booleans);
        Label dates = new Label(4,1,"日期格式");
        sheet.addCell(dates);
        
        Label example = new Label(0,2,"数据示例",colorFormat);
        sheet.addCell(example);
        //浮点数据
        //设置下划线
        WritableFont underline= new WritableFont(WritableFont.ARIAL,WritableFont.DEFAULT_POINT_SIZE,WritableFont.NO_BOLD,false,UnderlineStyle.SINGLE);
        WritableCellFormat greyBackground = new WritableCellFormat(underline);
        greyBackground.setBackground(Colour.GRAY_25);//设置背景颜色为灰色
        Number number = new Number(1,2,3.1415926535,greyBackground);
        sheet.addCell(number);
        //整形数据
        WritableFont boldNumber = new WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD);//黑体
        WritableCellFormat boldNumberFormate = new WritableCellFormat(boldNumber);
        Number ints = new Number(2,2,15042699,boldNumberFormate);
        sheet.addCell(ints);
        //布尔型数据
        Boolean bools = new Boolean(3,2,true);
        sheet.addCell(bools);
        //日期型数据
        //设置黑体和下划线
        WritableFont boldDate = new WritableFont(WritableFont.ARIAL,WritableFont.DEFAULT_POINT_SIZE,WritableFont.BOLD,false,UnderlineStyle.SINGLE);
        WritableCellFormat boldDateFormate = new WritableCellFormat(boldDate,DateFormats.FORMAT1);
        Calendar c = Calendar.getInstance();
        Date date = c.getTime();
        DateTime dt = new DateTime(4,2,date,boldDateFormate);
        sheet.addCell(dt);
        //把创建的内容写入到输出流中,并关闭输出流
        workbook.write();
        workbook.close();
        os.close();
        
    }
}
 
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.io.*" %>
<%@ page import="com.jxl.excel.*" %>
<% 
    String fname = "学校竞争力情况";
    OutputStream os = response.getOutputStream();//取得输出流
    response.reset();//清空输出流
    
    //下面是对中文文件名的处理
    response.setCharacterEncoding("UTF-8");//设置相应内容的编码格式
    fname = java.net.URLEncoder.encode(fname,"UTF-8");
    response.setHeader("Content-Disposition","attachment;filename="+new String(fname.getBytes("UTF-8"),"GBK")+".xls");
    response.setContentType("application/msexcel");//定义输出类型
    GenExcel ge = new GenExcel();
    ge.createExcel(os);

 %>
<html>
  <head>
    <title></title>
  </head>
  
  <body>
  </body>
</html>
 
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ page import="java.io.File"%>
<%@ page import="jxl.Cell"%>
<%@ page import="jxl.Sheet"%>
<%@ page import="jxl.Workbook"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<base href="<%=basePath%>">

		<title>My JSP 'read.jsp' starting page</title>

		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="expires" content="0">
		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
		<meta http-equiv="description" content="This is my page">
		<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

	</head>

	<body>
		<font size="2"> <%
 	String fileName = "C:/Users/ZEN/Downloads/学校竞争力情况.xls";
 	//根据文件名创建一个文件对象
 	File file = new File(fileName);
 	Workbook wb = Workbook.getWorkbook(file);//从文件流中取得Excel工作区对象
 	//从工作区中取得页,取得这个对象的时候既可以用名称来获得,也可以用序号。
 	Sheet sheet = wb.getSheet(0);
 	String outPut = "";

 	outPut = outPut + "<b>" + fileName + "</b><br>";
 	outPut = outPut + "第一个sheet的名称为:" + sheet.getName() + "<br>";
 	outPut = outPut + "第一个sheet共有:" + sheet.getRows() + "行"
 			+ sheet.getColumns() + "列<br>";
 	outPut = outPut + "具体内容如下:<br>";
 	for (int i = 0; i < sheet.getRows(); i++) {
 		for (int j = 0; j < sheet.getColumns(); j++) {
 			Cell cell = sheet.getCell(j, i);
 			outPut = outPut + cell.getContents() + " ";
 		}
 		outPut = outPut + "<br>";
 	}
 	out.println(outPut);
 %> </font>
	</body>
</html>
 

 

 

分享到:
评论

相关推荐

    Java通过POI和JXL给Excel动态添加水印

    java 通过JXL架包,给excel文件添加水印,水印内容可自定义

    java用list直接生成Excel文件

    利用jxl包结合java反射机制和注释,直接把list生成对应的Excel文件,即只需传入list、对应生成的对象、标题就可以生成excel文件write(String title, List list,Class c),实现一个简单生成excel工具类

    jxl 自动生成excel

    例子如下: Object是一个对象实体类,如Studnet.java. List 是一个对象集合,后面的是输出路径. WriteExcel rw=new WriteExcel(); rw.writeExcel(new Object(), List, "f:/a.xls","库存表");

    jxl.jar压缩包下载

    java通过jxl对excel的xls文件进行读写,支持Excel 95-2000的所有版本 生成Excel 2000标准格式 支持字体、数字、日期操作

    java 创建EXCEL文件,并向EXCEL中写入数据

    java向EXCEL中写入数据。里面有一个ExcelWrite.java的文件和一个jxl的jar包。

    java jxl添加水印(基于jxl2.6.12修改编译版)_之前发布的大家不要去下,那个版本有问题,本版本经过测试

    因数据安全,需要将生成的报表xls,添加水印,所以自已在jxl中进行代码修改。 使用例子 public class testJxl { public static void main(String[] args) throws Exception { OutputStream out = new ...

    通过java操作excel表格的工具类库jxl

    如果包不能正常的加载,可以把你下载好的JXL.JAR包放入D:\JAVA\jre\lib\ext中(我的是JDK1.6)就OK了。我相信在配置TOMCAT时也需要把相关的三个包放到这里面。  基本操作  一、创建文件  拟生成一个名为“测试...

    用jxl实现的读取excel(可以处理html格式的excel)

    用jxl实现的读取excel文件,生成相应的对象集合。对于读取html格式的excel文件抛出的BiffException异常做了相应的处理

    JavaExcel读写库JxlExcel.zip

    JxlExcel 是基于jxl封装的java excel读写库,特性如下:可以像读写文件一样方便的读取数据和写入数据数据支持数组、map、bean三种方式支持xml配置excel模板如何使用?模板定义在类路径下新建一个jxl-excel.xml的模板...

    txt文本文件截取写入excel程序代码

    本资源是java读txt文本文件,截取写入excel程序代码。内含有说明文件 BaoDan.txt是原文件 BaoDan.xls是生成的excel文件 BaoDanTransf.txt是转换后的txt文件 BaoDanTfansf.java是源程序把原文件转换...就会生成excel文件

    java jxl添加水印(基于jxl2.6.12修改)(因编译打包问题正在修正,请勿下载)

    因数据安全,需要将生成的报表xls,添加水印,所以自已在jxl中进行代码修改。 使用例子 public class testJxl { public static void main(String[] args) throws ... 3)aaaa.xls 生成的xls文件,水印图片为kkkk.bmp

    Excel数据操纵-jar包-jxl.jar

     (很大总是不能很好的加载,我想补充一下:把你下载好的JXL.JAR包放入D:\JAVA\jre\lib\ext中(我的是JDK1.6)就OK了。我相信在配置TOMCAT时也需要把相关的三个包放到这里面。)  基本操作  一、创建文件  拟...

    用java程序对表导出Excel的源代码

    WritableWorkbook book = Workbook.createWorkbook(new File("src/info.xls")); int pageNum = 0; // 多少页 int pageSize = 50000;//每頁五萬條數據 pageNum = (userInfoList.size() % pageSize &gt; 0) ...

    easyexcel:快速,简单避免OOM的java处理Excel工具

    EasyExcel 因为公司不方便用QQ,所以建议加钉钉群JAVA解析Excel工具EasyExcel 但他们都存在一个严重的问题就是非常的耗电量,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是Java解析...

    svnlog2excel.jar

    svnlog2excel.jar是用于...svnlog2excel.sh 将指定SVN路径的版本记录导出为xml格式,去掉第一个版本(一般为初始化代码且数量太大无需处理),并且调用svnlog2excel.jar 生成excel文件。 jxl.jar为读写excel要调用的包

    使用POI和Excel VBA生成图表

    用Java输出图表的场景和这个一样,POI、JXL对操作Excel图表无能为力 但Excel支持脚本的,也有工作表载入事件,所以也可以用同样的原理实现 只不过这次客户端不再是浏览器而是Excel应用程序。 这样交代的应该比较...

Global site tag (gtag.js) - Google Analytics