jsp读取客户端excel文件并在页面上显示数据,这个要怎么弄呢?我是用SQL Server数据库.

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【dber1】截止到2008-07-01 08:53:50的历史汇总数据(不包括此帖):
    发帖数:6                  发帖分:240                
    结贴数:6                  结贴分:240                
    未结数:0                  未结分:0                  
    结贴率:100.00%            结分率:100.00%            
    敬礼!
      

  2.   


    我是这样做的,先把文件上传保存到服务器,然后读取,用完后把文件删除。代码如下
    使用前记得先设置jdbc-odbc数据源。
          Connection conn = null;
          Statement stmt = null;
          ResultSet rs = null;
          try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            conn = DriverManager.getConnection("jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=c:\book.xls;");
            stmt = conn.createStatement();
            rs = stmt.executeQuery("select * from [Sheet1$]");
            while (rs.next()) {
              out.print(rs.getString(1));
              out.print(rs.getString(2));
              out.print(rs.getString(3));
              out.print(rs.getString(4));
            }
            rs.close();
            stmt.close();
          }catch (SQLException e) {
            e.printStackTrace();
          }
      

  3.   

    不知道你是否用过“jxl”这样的组件,它是专门用来操作Excel文件的;
    你可以参照里面的方法;当然jxl的操作是比较全面的,有很多东西有可能你用不到,那么你可以封装一个属于自己的简单应用操作类;
    我有一些代码,你可以参考:import java.io.File;
    import java.io.IOException;import org.apache.log4j.Logger;import jxl.Sheet;
    import jxl.Workbook;
    import jxl.read.biff.BiffException;/**
     * @author creator:lifw
     */
    public class ExcelManage
    {
    private static Logger log = Logger.getLogger(ExcelManage.class);

    private Workbook workBook; private Sheet sheet; private int rows; private int columns; public ExcelManage(String strFilePath) throws BiffException, IOException
    { try
    {
    workBook = Workbook.getWorkbook(new File(strFilePath));
    sheet = null;
    rows = 0;
    columns = 0;
    return;
    }
    catch (Exception e)
    {
    log.debug(e.toString());
    return;
    }
    } public boolean selSheet(String strSheetName)
    {
    try
    {
    if (workBook != null)
    {
    sheet = workBook.getSheet(strSheetName);
    if(sheet != null)
    {
    rows = sheet.getRows();
    columns = sheet.getColumns();
    }
    else
    {
    return false;
    }
    return true;
    }
    else
    {
    return false;
    }
    }
    catch (Exception e)
    {
    log.debug(e.toString());
    return false;
    }

    } public String getOneCell(int y, int x)
    {
    try
    {
    String strOneCell = null;
    if (y < columns && x < rows)
    {
    if (sheet != null)
    {
    strOneCell = sheet.getCell(y, x).getContents().trim();
    }
    else
    {
    // TODO 此处没有做任何处理
    }
    }
    return strOneCell;
    }
    catch (Exception e)
    {
    log.debug(e.toString());
    return null;
    }
    } public int getCurRows()
    {
    return rows;
    } public int getCurColumns()
    {
    return columns;
    } public void close()
    {
    try
    {
    if (workBook != null)
    {
    workBook.close();
    }
    }
    catch (Exception e)
    {
    log.debug(e.toString());
    return;
    }
    return;
    }
    }
      

  4.   

    jxl的操作原理是将整个Excel文件放入内存当中,然后进行解析;
    所以如果你的文件太大,而你又有足够的时间和经历,那么可以尝试着修改一下jxl的源码;
      

  5.   

    我一直用POI 很简单 页很好用   确实跟数据库没没什么关系呀