jxl使用总结(java 操作xls神器)
2015-11-02 16:27
253 查看
jxl,是项目中使用操作xls的东西,这里大概写个总结,说不定将来会用到呢,也说不定能帮到其他人。
,在网页中搜索jxl,发现最新版本是2.6.12,然后在pom.xml中输入
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
保存,即可完成安装。
学习
一、
jxl,是个第三方框架,官网是:http://www.andykhan.com/jexcelapi/,教程是http://www.andykhan.com/jexcelapi/tutorial.html,写得非常清楚
二、
新建xls
WritableWorkbook workbook=Workbook.createWorkbook(new File("e:\\output.xls"));
然后马上加上
workbook.write();
workbook.close();
表示写入表和关闭表,这样改动才能显示出来,国际好习惯。
三、新建sheet:
WritableSheet sheet=workbook.createSheet("我很帅da", 0);
第一个参数是标题,第二个参数是位置。
Label label=new Label(transC("A"),transR(3),"a record");
sheet.addCell(label);
其中的transC,和transR函数是我原创的函数,支持列超过26情况,这样写比较直观。
public static int transC(String col){
char[] cols= col.toLowerCase().toCharArray();
int sum=0;
for(int i=cols.length-1;i>=0;i--){
sum+=cols[i]-'a'+(cols.length-1-i)*26;
}
return sum;
}
public static int transR(int row){
if(row>0)
return row-1;
else{
return -1;
}
}
带格式的内容:
WritableCellFormat formate=new WritableCellFormat(new WritableFont(WritableFont.createFont("楷体"), 14,WritableFont.BOLD,true));
Label label2=new Label(transC("A"),transR(1),"我知道",formate);
Sheet sheet=wb.getSheet(0);
Cell a1=sheet.getCell(transC("H"),transR(2));
//Cell a1=sheet.getCell(0,0);
DateCell a11=(DateCell)a1;
Date tesk=a11.getDate();
System.out.println(a1.getType());
Calendar ca=Calendar.getInstance();
ca.setTime(tesk);
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println(format.format(tesk));
ca.add(Calendar.YEAR, -2);
System.out.println(format.format(ca.getTime()));
wb.close();
安装
在maven中搜索jxl,详见点击打开链接,在网页中搜索jxl,发现最新版本是2.6.12,然后在pom.xml中输入
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
保存,即可完成安装。
学习
一、jxl,是个第三方框架,官网是:http://www.andykhan.com/jexcelapi/,教程是http://www.andykhan.com/jexcelapi/tutorial.html,写得非常清楚
二、
新建xls
WritableWorkbook workbook=Workbook.createWorkbook(new File("e:\\output.xls"));
然后马上加上
workbook.write();
workbook.close();
表示写入表和关闭表,这样改动才能显示出来,国际好习惯。
三、新建sheet:
WritableSheet sheet=workbook.createSheet("我很帅da", 0);
第一个参数是标题,第二个参数是位置。
四、新建内容
jxl里是把一个单元格抽象成一个cell,所以,新建个单元格:Label label=new Label(transC("A"),transR(3),"a record");
sheet.addCell(label);
其中的transC,和transR函数是我原创的函数,支持列超过26情况,这样写比较直观。
public static int transC(String col){
char[] cols= col.toLowerCase().toCharArray();
int sum=0;
for(int i=cols.length-1;i>=0;i--){
sum+=cols[i]-'a'+(cols.length-1-i)*26;
}
return sum;
}
public static int transR(int row){
if(row>0)
return row-1;
else{
return -1;
}
}
带格式的内容:
WritableCellFormat formate=new WritableCellFormat(new WritableFont(WritableFont.createFont("楷体"), 14,WritableFont.BOLD,true));
Label label2=new Label(transC("A"),transR(1),"我知道",formate);
读取xls
Workbook wb=Workbook.getWorkbook(new File("e:\\test2.xls"));Sheet sheet=wb.getSheet(0);
Cell a1=sheet.getCell(transC("H"),transR(2));
//Cell a1=sheet.getCell(0,0);
DateCell a11=(DateCell)a1;
Date tesk=a11.getDate();
System.out.println(a1.getType());
Calendar ca=Calendar.getInstance();
ca.setTime(tesk);
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println(format.format(tesk));
ca.add(Calendar.YEAR, -2);
System.out.println(format.format(ca.getTime()));
wb.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简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统