不好意思忘了說一句是用JSP寫﹗

解决方案 »

  1.   

    用java写的可转为jsp.转贴:在Java中读写Excel文件
    .
    讨论区:
    技术论坛
    在Java中读写Excel文件 
    Jakarta的POI项目提供了一组操纵Windows文档的Java API,如下几个类提供了操作Excel文件的方便的途径:HSSFWorkbook、HSSFSheet、HSSFRow、HSSFCell,分别代表了Excel电子表格中的Book、Sheet、行和单元格。 
    你可以在下面地址下载到最新的POI工具包: 
    http://jakarta.apache.org/poi/index.html 
    下面的代码创建一个Excel文件test.xls,并在第一行的第一格中写入一条消息: import org.apache.poi.hssf.usermodel.*;
    import java.io.FileOutputStream;// code run against the jakarta-poi-1.5.0-FINAL-20020506.jar.
    public class PoiTest 

        static public void main(String[] args) throws Exception
        { 
              FileOutputStream fos = new FileOutputStream("d:\test.xls"); 
              HSSFWorkbook wb = new HSSFWorkbook(); 
              HSSFSheet s = wb.createSheet();
              wb.setSheetName(0, "first sheet");
              HSSFRow row = s.createRow(0);
              HSSFCell cell = row.createCell(0);
              cell.setCellValue("Hello! This message is generated from POI.");
              wb.write(fos); 
              fos.close(); 
        }
    } 读取Excel文件时,首先生存一个POIFSFileSystem对象,由POIFSFileSystem对象构造一个HSSFWorkbook,该HSSFWorkbook对象就代表了Excel文档。下面代码读取上面生成的Excel文件写入的消息字串: POIFSFileSystem fs = null; 
    HSSFWorkbook wb = null; 
    try { 
          fs = new POIFSFileSystem(new FileInputStream("d:\test.xls"));
          wb = new HSSFWorkbook(fs);
        } catch (IOException e) { e.printStackTrace(); }
     HSSFSheet sheet = wb.getSheetAt(0);
     HSSFRow row = sheet.getRow(0);
     HSSFCell cell = row.getCell((short) 0);
    String msg = cell.getStringCellValue(); 
      

  2.   

    我自己写了个bean,里面有两个函数,除了你的最后一个要求外,其他的都已实现,如果需要,我可以发给你
      

  3.   

    楼上的,我也想要啊,俺也有分,谢谢了,[email protected]
      

  4.   

    to zwxu(zwxu):
    当然需要呀!
    发过来给我参考一下!
    [email protected]
      

  5.   

    <%@ page import="java.sql.*,
                     java.util.*,
                     java.text.*,
                     java.io.*,
                     java.util.Date,
                     jxl.write.*,
                     jxl.*,
                     java.util.zip.*,
                     com.bizwink.cms.security.*,
                     com.bizwink.webtrend.*,
                     com.bizwink.cms.server.*,
                     com.bizwink.cms.util.*" contentType="text/html;charset=8859_1"%><%
        Auth authToken = SessionUtil.getUserAuthorization( request,  response, session);
        String userid            = authToken.getUserID();    Date now = new Date();
        int year = now.getYear()+1900;
        int month = now.getMonth()+1;
        int day = now.getDate()-1;
        if(day == 0)
        {
            switch(month)
            {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    day = 31;
                case 4:
                case 6:
                case 9:
                case 11:
                    day = 30;
                case 2:
                    if((year%4==0)&(year%100==0)&(year%400!=0))
                        day = 29;
                    else
                        day = 28;
            }
        }    String syear = String.valueOf(year);
        String smonth = String.valueOf(month);
        String sday = String.valueOf(day);    if((month>0) & (month<10))
            {
                smonth = "0" + smonth;
            }    if((day>0) & (day<10))
            {
                sday = "0" + sday;
            }    String date = syear + "-" + smonth + "-" + sday;    String appDir = CmsServer.getInstance().getModalPath();
        int posi = appDir.lastIndexOf(java.io.File.separator);
        appDir = appDir.substring(0,posi);    String filename = userid + "_" + date;
        String path = appDir + java.io.File.separator + "Excel";    String xlsfilename = filename + ".xls";
        String fpath = path + java.io.File.separator + xlsfilename;
        String zipfilename = filename + ".zip";
        String zippath = path + java.io.File.separator + zipfilename;
        File f = new File(fpath);
        if(f.exists()){
            f.delete();
        }    File fe = new File(zippath);
        if(fe.exists()){
            fe.delete();
        }    WritableWorkbook wwb = null;    try{
             wwb = Workbook.createWorkbook(new File(fpath));    //创建一个workbook
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }    WritableSheet ws = wwb.createSheet("LogAnalyzer", 0);     //创建一个sheet    Label label1 = new Label(0, 0, "URL");
        ws.addCell(label1);
        Label label2 = new Label(1, 0, "PAGEVIEW");
        ws.addCell(label2);
        Label label3 = new Label(2, 0, "USERSESSION");
        ws.addCell(label3);    IWebtrendManager webtrendMgr = WebtrendPeer.getInstance();
        List list= webtrendMgr.reportPerDay(date, userid);    for (int i=1;i<list.size();i++){
            Webtrend webtrend=(Webtrend)list.get(i);
            Label labelC1 = new Label(0, i, webtrend.getUrlName());
            ws.addCell(labelC1);
            Label labelC2 = new Label(1, i, webtrend.getPageView());
            ws.addCell(labelC2);
            Label labelC3 = new Label(2, i, webtrend.getUsersession());
            ws.addCell(labelC3);
        }    try{
            //写入Exel工作表
            wwb.write();        //关闭Excel工作薄对象
            wwb.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        //创建zip文件
        try {
             int BUFFER = 2048;
             BufferedInputStream origin = null;
             FileOutputStream dest = new FileOutputStream(zippath);
             ZipOutputStream outp = new ZipOutputStream(new BufferedOutputStream(dest));
             byte data[] = new byte[BUFFER];         FileInputStream fi = new FileInputStream(fpath);
             origin = new BufferedInputStream(fi, BUFFER);
             ZipEntry entry = new ZipEntry(xlsfilename);        //被压缩的源文件名;
             outp.putNextEntry(entry);
             int count;
             while((count = origin.read(data, 0, BUFFER)) != -1) {
                   outp.write(data, 0, count);
             }
             origin.close();
             outp.close();         File file = new File(fpath);    //将excel文件转化为zip文件后,删除excel文件
             if(file.exists()){
                 file.delete();
             }
          } catch(Exception e) {
             e.printStackTrace();
          }%>
        <html>
        <head></head>
        <body background="../images/indtextb.jpg">
        <br>
        <p align="center"><b><font size="5" color="red">生成表格成功</font></b></p>
        <p align="center"><a href="../Excel/<%=zipfilename%>">下载</a></p>
        </body>
        </html>
      

  6.   

    to EricDu(牛牛) :
    以下這几個包找不到,請問那里有com包下載?
    com.bizwink.cms.security.*,
                     com.bizwink.webtrend.*,
                     com.bizwink.cms.server.*,
                     com.bizwink.cms.util.*"
      

  7.   

    呵呵,我有用Servlet写的通用的处理页面报表转为Excel表!!
      

  8.   

    EricDu(牛牛) 用的那几个包不是JXL的!!
      

  9.   

    请问一下,上面的几个包是不是你自己的!楼上的朋友们,如果有这方面的代码,也发一个给我啊
    [email protected]
      

  10.   

    我要需要一份啊.
    [email protected]
      

  11.   

    关注,楼主有了,给偶发一份:[email protected]
      

  12.   

    Jakarta 有个项目专门是来操作excel的。我用过但没有细用。。不过很好用
    http://jakarta.apache.org/poi/index.html
    希望能帮助你
      

  13.   

    to:flowercat(小强) 
    給我發一份可以嗎?
    我找到了用JXL寫的,但它只能存在服務器上,如果有多人用的話就可能為出問題,而且只能保存為文件不能調EXECL程序打開這個文件.
      

  14.   

    to:flowercat(小强) 
    給我發一份可以嗎?
    我找到了用JXL寫的,但它只能存在服務器上,如果有多人用的話就可能為出問題,而且只能保存為文件不能調EXECL程序打開這個文件.
      

  15.   

    请给我发一份;多谢
    [email protected], 我也有分