对Java的jxl.jar的使用
使用jxl.jar对excel表格进行操作处理
对于写入的介绍:
buffer.append(excelName);
if (!excelName.contains(“.xls”)){
buffer.append(“.xls”);
}
file = new File(buffer.toString().trim());
if (!file.exists()){
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}
上面的代码首先创建了一个.xls为后缀名的文件,下面进行数据的插入处理:
WritableWorkbook book = Workbook.createWorkbook(file);//打开excel文件,获取对象
WritableSheet sheet = book.createSheet(“one_page”, 0);//生成名为“第一页”的工作表,参数0表示这是第一页,第一张工作表
Label label = new Label(0, 0, “一行一列”); //在Label对象的构造中指名单元格位置是第一列第一行(0,0)
sheet.addCell(label); //将定义好的单元格添加到工作表中
jxl.write.Label s1 = new jxl.write.Label(0, 2, “第一列第三行”);// 列 行 数据
sheet.addCell(s1);
按照行读取excel表格:
Workbook workbook = Workbook.getWorkbook(new FileInputStream(param));// 获取对象
sheets = workbook.getSheets();// 获得工作表数量
Sheet sheet = workbook.getSheet(i);// 获取第一张工作表
int rows = sheet.getRows();// 获取行数
Cell[] cells = sheet.getRow(ii);//按行读取单元格数据,处理标题头所以按行存数据
//1:创建excel文件
File file=new File(“test.xls”);
file.createNewFile();
//2:创建工作簿
WritableWorkbook workbook=Workbook.createWorkbook(file);
//3:创建sheet,设置第二三四..个sheet,依次类推即可
WritableSheet sheet=workbook.createSheet("用户管理", 0);
//4:设置titles
String[] titles={"编号","账号","密码"};
//5:单元格
Label label=null;
//6:给第一行设置列名
for(int i=0;i<titles.length;i++){
//x,y,第一行的列名
label=new Label(i,0,titles[i]);
//7:添加单元格
sheet.addCell(label);
}
//8:模拟数据库导入数据
for(int i=1;i<=19;i++){
//添加编号,第二行第一列
label=new Label(0,i,i+"");
sheet.addCell(label);
//添加账号
label=new Label(1,i,"10010"+i);
sheet.addCell(label);
//添加密码
label=new Label(2,i,"123456");
sheet.addCell(label);
}
//写入数据
workbook.write();
//最后一步,关闭工作簿
workbook.close();
sheet.mergeCells(a, b, c, d);
这句话表示合并单元格,a与c表示行,a表示开始的那个单元格左边有a个单元格
c表示结束的那个单元格左边有c个单元格
b和d表示列,b表示开始的那个单元格上边有b个单元格
d表示结束的那个单元格上边有d个单元格
sheet.setRowView(i, 600);
这句话表示把第“i+1”行的高度设置成600
sheet.setColumnView(i, 30);
这句话表示把第“i+1”列的宽度设置成30
运行结果如下图所示: