一定要用POI吗?
我用的时jexl
自己写了一个通过流生成excel表的Bean,然后通过传进两个参数 ,一个是流response.getOutputStream()
另一个是通过别的Bean中得到数组(也就是要道入excel的数据)来生成表
<%@page import="forall.makeexcel" %>
<%
response.reset();
response.setContentType("application/vnd.ms-excel");
Test.writeExcel(response.getOutputStream(),table);
%>
import java.io.*;
import jxl.*;
import jxl.write.*;
import jxl.format.*;
import java.util.*;
import java.awt.Color;public class makeexcel{
public static void writeBook(OutputStream out,String[][] table){
WritableWorkbook workbook=null;
WritableSheet sheet=null;
Label label;
//生成一张新表,到给定的输出流中
try{
workbook = Workbook.createWorkbook(out);
sheet=workbook.createSheet("Sheet1",0);
}catch(Exception e){System.err.println(e);System.out.println("Create WorkBook throw an err");}
//将数组写进表中
try{
for(int i=0;i<table.length;i++){
for(int j=0;j<table[0].length;j++){
if(table[i][j].equals(" ")){
label=new Label(j,i,"");
}else{label=new Label(j,i,table[i][j]);}
sheet.addCell(label);
}
}
workbook.write();
workbook.close();
}catch(Exception e){System.err.println(e);System.out.println("Write book throw an err");}
}
}
我用的时jexl
自己写了一个通过流生成excel表的Bean,然后通过传进两个参数 ,一个是流response.getOutputStream()
另一个是通过别的Bean中得到数组(也就是要道入excel的数据)来生成表
<%@page import="forall.makeexcel" %>
<%
response.reset();
response.setContentType("application/vnd.ms-excel");
Test.writeExcel(response.getOutputStream(),table);
%>
import java.io.*;
import jxl.*;
import jxl.write.*;
import jxl.format.*;
import java.util.*;
import java.awt.Color;public class makeexcel{
public static void writeBook(OutputStream out,String[][] table){
WritableWorkbook workbook=null;
WritableSheet sheet=null;
Label label;
//生成一张新表,到给定的输出流中
try{
workbook = Workbook.createWorkbook(out);
sheet=workbook.createSheet("Sheet1",0);
}catch(Exception e){System.err.println(e);System.out.println("Create WorkBook throw an err");}
//将数组写进表中
try{
for(int i=0;i<table.length;i++){
for(int j=0;j<table[0].length;j++){
if(table[i][j].equals(" ")){
label=new Label(j,i,"");
}else{label=new Label(j,i,table[i][j]);}
sheet.addCell(label);
}
}
workbook.write();
workbook.close();
}catch(Exception e){System.err.println(e);System.out.println("Write book throw an err");}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货