Java 操作EXCEL 有比较常见的方法 一是使用开源JXL组件,另外一种是POI,POI相对应用更广泛,能够操作微软所有windows文档,但数据量大的情况下比较消耗内存,所以相对效率比较低。
这里介绍JXL的使用:
使用很方便,是需要一个jxl.jar包就能完成EXCEL的解析和生成,当然为了实现文件上传下载需要使用到apach另外个包commons-fileupdate.jar
JXL范例:
一、通过页面提交一个Excel到后台,进行数据分析与读取:
当然其中包含文件上传,通过简单的Servlet实现:
部分代码如下,见注释:
String tempPath = "";
//代表一个EXCEL文件
Workbook wb = null;
try {
DiskFileUpload fu = new DiskFileUpload(); // 设置最大文件尺寸,这里是4MB
fu.setSizeMax(4194304); // 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(4096); // 设置临时目录:
fu.setRepositoryPath(tempPath); // 得到所有的文件:
List fileItems = fu.parseRequest(request);
Iterator i = fileItems.iterator(); // 依次处理每一个文件:
while(i.hasNext()) {
FileItem fi = (FileItem)i.next(); // 获得文件名,这个文件名包括路径:
String fileName = fi.getName(); // 在这里可以记录用户和文件信息
wb = Workbook.getWorkbook(fi.getInputStream());
if(wb == null){
return;
}
//得到excel 所有工作表
Sheet [] sheets = wb.getSheets();
if(sheets != null ){
for(int c=0; c
//遍历各个工作表
Sheet s = sheets[c];
int columns = s.getColumns();
int rows = s.getRows();
System.out.println(columns + " " + rows); if(columns >0 || rows >0){ for(int r=0; r