![]() |
#2
sea72008-02-19 21:00
自己在网上down一下jxL这个jar文件:
操作如下: ![]() import *; import java.util.Random; import java.util.Date; import jxl.*; import jxl.format.UnderlineStyle; import jxl.write.*; import jxl.write.Number; import jxl.write.Boolean; public class CreateXL { public CreateXL() { } public static void main(String[] args) { //读Excel //CreateXL.readExcel("d:/abc.xls"); //创建新的Excel CreateXL.writeExcel("d:/new.xls"); //更新Excel CreateXL.updateExcel("d:/new.xls"); } //jxl暂时不提供修改已经存在的数据表,这里通过一个小办法来达到这个目的,不适合大型数据更新! //这里是通过覆盖原文件来更新的. public static void updateExcel(String filePath) { try { Workbook rwb = Workbook.getWorkbook(new File(filePath)); WritableWorkbook wwb = Workbook.createWorkbook(new File("d:/new.xls"),rwb);//copy WritableSheet ws = wwb.getSheet(0); WritableCell wc = ws.getWritableCell(0,0); //判断单元格的类型,做出相应的转换 Label label = (Label)wc; label.setString("The value has been modified"); wwb.write(); wwb.close(); rwb.close(); } catch(Exception e) { e.printStackTrace(); } } public static void writeExcel(String filePath) { try { //创建工作薄 WritableWorkbook wwb = Workbook.createWorkbook(new File(filePath)); //创建工作表 WritableSheet ws = wwb.createSheet("Sheet1",0); //System.out.println("create ok!"); //添加标签文本 Random rnd=new Random((new Date()).getTime()); int forNumber=rnd.nextInt(100); for(int i=0;i<forNumber;i++) { ws.addCell(new Number(rnd.nextInt(50),rnd.nextInt(50),rnd.nextInt(1000))); } //添加图片(注意此处jxl暂时只支持png格式的图片) //0,1分别代表x,y 2,5代表宽和高占的单元格数 ws.addImage(new WritableImage(0,1,2,5,new File("png\\cs.png"))); wwb.write(); wwb.close(); } catch(Exception e) { System.out.println(e.toString()); } } public static void readExcel(String filePath) { /** *后续考虑问题,比如Excel里面的图片以及其他数据类型的读取 **/ try { InputStream is=new FileInputStream(filePath); //声名一个工作薄 Workbook rwb = Workbook.getWorkbook(is); //获得工作薄的个数 //rwb.getNumberOfSheets(); //在Excel文档中,第一张工作表的缺省索引是0 Sheet st = rwb.getSheet("Sheet1"); //通用的获取cell值的方式,getCell(int column, int row) 行和列 int Rows=st.getRows(); int Cols=st.getColumns(); System.out.println("当前工作表的名字:"+st.getName()); System.out.println("总行数:"+Rows); System.out.println("总列数:"+Cols); Cell c; for(int i=0;i<Cols;++i) { for(int j=0;j<Rows;++j) { //getCell(Col,Row)获得单元格的值 System.out.print((st.getCell(i,j)).getContents()+"\t"); } System.out.print("\n"); } //操作完成时,关闭对象,释放占用的内存空间 rwb.close(); } catch(Exception e) { e.printStackTrace(); } } } |
各位大侠可有从jsp将表格导出到excel表的例子啊,帮我看看我这个该怎么导啊。。。
<table width="50%">
<tr><td> username </td><td> pwd</td></tr>
<c:forEach items="${list}" var="list">
<tr><td><c:out value="${list.username}"></c:out></td><td><c:out value="${list.pwd}"></c:out></td></tr>
</c:forEach>
</table>
就这个。我该怎么做啊。。。
7月烈日沙漠裸体跪求中!