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中.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用Java编程语言中,可以通过以下方式来判断Excel单元格类型: 1. 使用Apache POI库:Apache POI库是一个用于操作Microsoft Office文件格式的Java API库。可以使用该库中的方法来读取Excel文件,并判断每个单元格类型。具体步骤如下: a. 导入Apache POI库的相关jar文件。 b. 创建一个文件输入流对象,将Excel文件作为输入流。 c. 根据文件输入流对象,创建一个工作簿对象。 d. 获取工作簿对象中的指定工作表。 e. 遍历工作表中的每一行,再遍历每行中的每个单元格。 f. 调用单元格对象的getCellType()方法来获取单元格类型。根据返回的类型值,即可判断单元格类型。 g. 根据单元格类型,使用相应的方法获取单元格的值。 h. 关闭工作簿和文件输入流。 2. 使用Jxl库:Jxl是一种用于读取和写入Excel文件的Java库。它提供了用于读取和写入Excel文件的类和方法。可以使用该库中的方法来判断Excel单元格类型。具体步骤如下: a. 导入Jxl库的相关jar文件。 b. 创建一个文件输入流对象,将Excel文件作为输入流。 c. 创建一个工作簿对象,并将输入流对象作为参数。 d. 获取工作簿对象中的指定工作表。 e. 遍历工作表中的每一行,再遍历每行中的每个单元格。 f. 调用单元格对象的getType()方法来获取单元格类型。根据返回的类型值,即可判断单元格类型。 g. 根据单元格类型,使用相应的方法获取单元格的值。 h. 关闭工作簿和文件输入流。 以上是两种常用的方法来判断Excel单元格类型,开发者可以根据具体需求选择合适的方法使用。同时,需要注意的是,读取Excel文件需要使用相应的库,并添加库的依赖。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值