java中解析excel(扩展)
2015-09-06 17:23
459 查看
主要是设置一些样式
import java.io.File;import java.io.IOException;
import jxl.Workbook;
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 Write01 {
public static void main(String[] args) throws IOException,
RowsExceededException, WriteException, InterruptedException {
// 创建一个工作薄
WritableWorkbook book = Workbook.createWorkbook(new File(
"d:/testExcel.xls"));
WritableSheet sheet = book.createSheet("T239", 0);
String strs[] = { "学号", "姓名", "性别", "身份证", "电话", "籍贯", "家庭住址", "父亲电话",
"母亲电话", "入学时间" };
// 合并第一列第一行,到第strs.length-1列第一行
sheet.mergeCells(0, 0, strs.length-1, 0);
// 字体格式1
WritableFont font1 = new WritableFont(WritableFont.ARIAL, 18,
WritableFont.BOLD);
// 字体格式2
WritableFont font2 = new WritableFont(WritableFont.ARIAL, 13,
WritableFont.BOLD);
// 格式化单元格
WritableCellFormat format1 = new WritableCellFormat(font1);
// 格式化单元格
WritableCellFormat format2 = new WritableCellFormat(font2);
// 格式化单元格
WritableCellFormat format3 = new WritableCellFormat();
// 把水平对齐方式指定为居中
format1.setAlignment(jxl.format.Alignment.CENTRE);
// 把垂直对齐方式指定为居中
format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
// 设置边框
format1.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN);
// 把水平对齐方式指定为居中
format2.setAlignment(jxl.format.Alignment.CENTRE);
// 把垂直对齐方式指定为居中
format2.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
// 设置边框
format2.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN);
format2.setBackground(jxl.format.Colour.PINK);
// 设置自动换行
format2.setWrap(true);
// 设置边框
format3.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN);
// 垂直居中
format3.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
// 水平居中
format3.setAlignment(jxl.format.Alignment.CENTRE);
// 设置第一行高度
sheet.setRowView(0, 700);
// 设置标题
Label labelC1 = new Label(0, 0, "重庆足下软件学院学生信息表", format1);
sheet.addCell(labelC1);
// 设置表格头
for (int i = 0; i < strs.length; i++) {
// 这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行
Label labelC = new Label(i, 1, strs[i], format2);
if (i == 1) {
// 设置列宽
sheet.setColumnView(i, 10);
} else if (i == 2) {
sheet.setColumnView(i, 10);
} else if (i == 3) {
sheet.setColumnView(i, 20);
} else if (i == 5 || i == 6) {
sheet.setColumnView(i, 30);
} else {
sheet.setColumnView(i, 15);
}
sheet.addCell(labelC);
}
// 下面开始添加单元格,定义变量是为学号列设置值
int count=0;
for (int i = 2; i < strs.length; i++) {
// 设置行高
sheet.setRowView(i, 350);
for (int j = 0; j < strs.length; j++) {
// 这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行
Label labelC = new Label(j, i, "这是第" + (i + 1) + "行", format3);
if(strs[j].equals("学号")){
labelC = new Label(j, i, "100"+count, format3);
}else if(strs[j].equals("姓名")){
labelC =new Label(j, i, "张三"+count, format3);
}else if(strs[j].equals("性别")){
if((i*j)%3==0){
labelC =new Label(j, i, "男", format3);
}else{
labelC =new Label(j, i, "女", format3);
}
}else if(strs[j].equals("身份证")){
labelC =new Label(j, i, "510524199506093350", format3);
}else if(strs[j].equals("电话")){
labelC =new Label(j, i, "12345678901", format3);
}
// 将生成的单元格添加到工作表中
sheet.addCell(labelC);
}
count++;
}
// 从内存中写入文件中
book.write();
// 关闭资源,释放内存
book.close();
}
}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 使用Python生成Excel格式的图片
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树