Java导出Excel

完成这个实验,你需要下载jxljar包,具体方法自行百度。 接下来我将直接使用具体代码进行讲解我的实现过程。 文件名: ExcelAction.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package net.kuangmeng.excel;
/*这里是所有需要导入的库,不用担心当你写好其他代码时,编辑器会提示或者自动帮你补全!*/
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.opensymphony.xwork2.ActionSupport;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.format.VerticalAlignment;
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;

@SuppressWarnings("serial")
public class ExcelAction extends ActionSupport{
public static void main(String[] args) {
//主函数调用
//listth为导出excel的表头信息
list<String> listth = new ArrayList<String>;
//listtd为导出的excel表项
list<String> listtd = new ArrayList<String>;
//num为表的列数
int num ;
exportExcel(tablename,listth,listtd,num);
}
//真正的导出excel方法
public static void exportExcel(String fileName,List<String> listth,List<String> listtd,int num) {
//设置保存文件具体位置及文件名
String excelName ="C:\\Users\\meng\\Desktop\\"+fileName+".xls";
try {
File excelFile = new File(excelName);
// 如果文件存在就删除它
if (excelFile.exists())
excelFile.delete();
// 打开文件
WritableWorkbook book = Workbook.createWorkbook(excelFile);
// 生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet = book.createSheet("Up2U导出表格 ", 0);
// 文字样式
jxl.write.WritableFont wfc = new jxl.write.WritableFont(
WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false,
UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK);
jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(
wfc);
jxl.write.WritableCellFormat wcfF = new jxl.write.WritableCellFormat(wfc);
wcfF.setBackground(jxl.format.Colour.BLACK);
// 设置单元格样式
wcfFC.setBackground(jxl.format.Colour.GRAY_25);// 单元格颜色
wcfFC.setAlignment(jxl.format.Alignment.CENTRE);// 单元格居中

// 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
// 以及单元格内容为
for(int i=0;i<listth.size()/(num-2);i++){
for(int j=0;j<num-2;j++){
sheet.addCell(new Label(j,i,listth.get(i*(num-2)+j),wcfFC));
}
}
for(int i=listth.size()/(num-2);i<(listth.size()+listtd.size())/(num-2);i++){
for(int j=0;j<num-2;j++){
sheet.addCell(new Label(j,i,listtd.get((i-1)*(num-2)+j),wcfF));
}
}
// 写入数据并关闭文件
book.write();
book.close();
System.out.println("Excel创建成功");
} catch (Exception e) {
System.out.println(e);
}
}
}



本文链接: http://home.meng.uno/articles/7725d215/ 欢迎转载!

© 2018.02.08 - 2020.10.14 Mengmeng Kuang  保留所有权利!

UV : | PV :

:D 获取中...

Creative Commons License