jxl 下拉列表 序列

最近用到jxl 需要用到下拉列表,鉴于列表项很多 于是做了2个sheet页 一个作为数据,生成序列后使用在下拉列表中

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.UnderlineStyle;
import jxl.format.VerticalAlignment;
import jxl.write.Label;
import jxl.write.WritableCellFeatures;
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 Test {

public void writeXls(OutputStream os) {
String[] fdArr = { "学号", "姓名", "班级", "成绩" };
JExcelUtils jeu = new JExcelUtils();

try {
WritableWorkbook workbook = Workbook.createWorkbook(os);
WritableSheet sheet = workbook.createSheet("信息", 0); //添加第一个工作表
WritableSheet sheetData = workbook.createSheet("data", 1); //添加第2个工作表
jeu.initialSheetSetting(sheet);
WritableCellFormat wcf = new WritableCellFormat(new WritableFont(WritableFont.ARIAL, 20, WritableFont.BOLD,
false, UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.GREEN));
wcf.setAlignment(Alignment.CENTRE);
wcf.setVerticalAlignment(VerticalAlignment.CENTRE);
wcf.setBorder(Border.ALL, BorderLineStyle.THIN);
jeu.mergeCellsAndInsertData(sheet, 1, 0, fdArr.length, 0, "学生基本信息", wcf);

for (int i = 0; i < fdArr.length; i++) {
String tb = fdArr[i];
Label label = new Label(i + 1, 1, tb, jeu.getTitleCellFormat());
sheet.addCell(label);
Label lLabel = new Label(i + 1, 2, "");
if (i == 2) {
WritableCellFeatures wcfc = new WritableCellFeatures();
getlReference(workbook, sheetData, "class");
wcfc.setDataValidationRange("class");
lLabel.setCellFeatures(wcfc);
}
sheet.addCell(lLabel);
}
workbook.write();
workbook.close();
} catch (Exception e) {
System.out.println(e);
}
}

private String getlReference(WritableWorkbook workbook, WritableSheet sheetData, String name)
throws RowsExceededException, WriteException {
for (int i = 0; i < 5000; i++) {
sheetData.addCell(new Label(0, i, "班级" + i));
}
workbook.addNameArea(name, sheetData, 0, 0, 0, 5000);
return name;
}

public static void main(String args[]) throws IOException, RowsExceededException, WriteException {
FileOutputStream fo = new FileOutputStream(new File("G://aa.xls"));
new Test().writeXls(fo);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值