jxl 对单元格类型设置

/*
		 * 创建Workbook
		 */
		Workbook workBook = null;
		WritableWorkbook wwb = null;
		try {
			// 通过File(DIR)来创建一个Workbook对象
			workBook = Workbook.getWorkbook(new File(DIR));
			// 通过已经创建的Workbook对象创建一个WritableWorkbook对象
			wwb = Workbook.createWorkbook(response.getOutputStream(), workBook);
			// 获取WritableWorkbook里面有多少个Sheet
			int sheetNameLength = wwb.getSheetNames().length;
			// 遍历每一个Sheet并往里面塞值
			int x=3;
			for (int i = 0; i < sheetNameLength; i++) {
				// 获取第index个WritableSheet;
				WritableSheet ws = wwb.getSheet(i);

?

wwb.write();
			// wwb.close();
			response.flushBuffer();

		} catch (BiffException e) {
			log.error(e);
		} catch (IOException e) {
			log.error(e);
		} finally {
			try {
				if (wwb != null) {
					wwb.close();
				}
			} catch (IOException e) {
				log.error(e);
			} catch (WriteException e) {
				log.error(e);
			}
			if (workBook != null) {
				workBook.close();
			}

		}

记得要执行

response.flushBuffer();

? 不然不能直接在浏览器打开.

?

?

?

1:? 新建字体格式

jxl.write.WritableFont wfSong = new jxl.write.WritableFont(WritableFont.createFont("宋体"),12, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE);

?


参数1 字体 参数2 字体大小 参数三 加粗与否 BOLD? or NO_BOLD 参数四 是否斜体
参数五 没有下划线

jxl.write.WritableCellFormat wcfDisplay = new jxl.write.WritableCellFormat();
wcfDisplay.setFont(wfSong);

?


创建一个能写的cell格式化对象 并把刚才的字体赋值给它.

?

jxl.write.Number numVencd = new jxl.write.Number(0,j+4,Double.parseDouble(stBean.getVencd()),wcfDisplay);  
ws.addCell(numVencd);

?

创建一个数值对象 并把该cell写到WritableSheet==>ws中

参数一 列, 参数二 行 ,参数三 值 , 参数四 格式化对象

?

jxl.write.Label labelBareaname= new jxl.write.Label(2,j+4,stBean.getBareaname(),wcfDisplay);
ws.addCell(labelBareaname);

?

label 类型的和number类型的用法一样.

?

jxl.write.NumberFormat nfPERCENT_FLOAT = new jxl.write.NumberFormat("0.00%");
jxl.write.WritableCellFormat wcfnfPERCENT_FLOAT = new jxl.write.WritableCellFormat(nfPERCENT_FLOAT);
wcfnfPERCENT_FLOAT.setFont(wfSong);
jxl.write.Number numSalerate = new jxl.write.Number(6,j+4,Double.parseDouble(stBean.getSalerate()),wcfnfPERCENT_FLOAT);
ws.addCell(numRcrate);

?

Line1: 创建一个NumberFormat对象.? 并且格式为 Excel中 百分比 小数位数为两位的.

Line2: 创建一个可写的Cell格式化对象.并把NumberFormat对象赋值给它

Line3: 给Cell格式化对象设置字体格式.? (详情见上).

Line4: 创建一个Number对象 并设置它的列,行,值,并把该格式化对象赋值给它.

Line5: 把该Cell加到WriteableSheet中.

?

jxl.write.NumberFormat nfTHOUSANDS_INTEGER = new jxl.write.NumberFormat("#,##0");
jxl.write.WritableCellFormat wcfTHOUSANDS_INTEGER = new jxl.write.WritableCellFormat(nfTHOUSANDS_INTEGER);
wcfTHOUSANDS_INTEGER.setFont(wfSong);
jxl.write.Number numRealvalue = new jxl.write.Number(8,j+4,Double.parseDouble(stBean.getRealvalue()),wcfTHOUSANDS_INTEGER);
ws.addCell(numRealvalue);

?

Line1: 创建一个NumberFormat对象.? 并且格式为 Excel中 货币格式.没有小数位数,没有货币符号.能显示负数,千位以','分割的格式.

Line2: 创建一个可写的Cell格式化对象.并把NumberFormat对象赋值给它

Line3: 给Cell格式化对象设置字体格式.? (详情见上).

Line4: 创建一个Number对象 并设置它的列,行,值,并把该格式化对象赋值给它.

Line5: 把该Cell加到WriteableSheet中.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值