一个对excels操作的问题 帮忙看一下,用的是一个jxl来做的,出了点问题
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 6 in the jsp file: /web1/web/shiyan.jsp
Generated servlet error:
[javac] Compiling 1 source file
D:\Tomcat4\work\Standalone\localhost\_\web1\web\shiyan_jsp.java:70: not a statement
for(j<=rsRows;j++;){
^
An error occurred at line: 6 in the jsp file: /web1/web/shiyan.jsp
Generated servlet error:
D:\Tomcat4\work\Standalone\localhost\_\web1\web\shiyan_jsp.java:77: not a statement
for(j<=rsRows;j++;){
^
2 errors
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:248)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:315)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:328)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
--------------------------------------------------------------------------------
Apache Tomcat/4.1.31
问题点数:20、回复次数:6Top
1 楼tongxin9377()回复于 2006-03-04 15:34:21 得分 0
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.io.*,jxl.*,jxl.write.*,jxl.write.*,jxl.format.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<%
String path="c:\\derd.xls";//Excel文件URL
InputStream is = new FileInputStream(path);//写入到FileInputStream
jxl.Workbook wb = Workbook.getWorkbook(is); //得到工作薄
jxl.Sheet st = wb.getSheet(0);//得到工作薄中的第一个工作表
jxl.Sheet rs = rwb.getSheet(0);
int rsColumns = rs.getColumns();//得到工作簿的列数
jxl.Sheet rs = rwb.getSheet(0);
int rsRows = rs.getRows();//得到工作簿的总行数
String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\Tomcat4\\webapps\\ROOT\\web1\\web\\db1.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(url);
Statement st=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
int j=0;
for(j<=rsRows;j++;){
//for(i<=rsColumns;i++{
Cell cell=st.getCell(0,j);//得到工作表的第一个单元格,即A1
content=cell.getContents();//getContents()将Cell中的字符转为字符串
sql1="insert into xzqf(nsrsbh)values('"+content+"')";
Statement rs=st.executeUpdata(sql);
}
for(j<=rsRows;j++;){
//for(i<=rsColumns;i++{
Cell cell=st.getCell(1,j);//得到工作表的第一个单元格,即A1
content=cell.getContents();//getContents()将Cell中的字符转为字符串
sql1="insert into xzqf(yb)values('"+content+"')";
Statement rs=st.executeUpdata(sql1);
}
wb.close();
is.close();
%>
</head>
<body>
</body>
</html>
Top
2 楼tongxin9377()回复于 2006-03-04 15:35:26 得分 0
Cell cell=st.getCell(0,j);//这段我是要把第一列所有的值插到数据库中,怎么提示看不懂,Top
3 楼yuzhenhao(【◎沃玛教主◎】)回复于 2006-03-04 23:07:51 得分 0
for(;j<=rsRows;j++;)
^
看这里。主要的问题出在这里,你丢掉了";"号.
Top
4 楼climb011358(程序员)回复于 2006-03-05 09:18:20 得分 0
帅哥你好好看for的语法结构去吧/晕死Top
5 楼koma_wind()回复于 2006-03-05 10:34:31 得分 0
原文:http://www.easydone.cn/014/index.htm
import java.io.*;
import jxl.*;
/**
* <p>Title: 中国易成网</p>
* <p>Description: 管理目录分类</p>
* <p>Copyright: Copyright (c) 2006</p>
* <p>Company: http://www.easydone.cn</p>
* @authory dirboy
* @version 1.0
*/
public class GetExcelValues {
public static void main(String[] args){
try{
String sourcefile = "c://125.xls";
InputStream is = new FileInputStream(sourcefile);
jxl.Workbook rwb = Workbook.getWorkbook(is);
//获得总 Sheets
Sheet[] sheets = rwb.getSheets();
int sheetLen = sheets.length;
for(int i=0;i<sheetLen;i++){
//获得单个Sheets 含有的行数
jxl.Sheet rs = rwb.getSheet(i); //
Cell[] cell_domain = rs.getColumn(0);//读取第一列的值
for(int j=1;j<cell_domain.length;j++){
System.out.println("Values:"+cell_domain[j].getContents());
}
}
}catch(Exception ex){
ex.printStackTrace();
}
}
}
Top
6 楼crazyhardy(難得想)回复于 2006-03-25 01:19:48 得分 0
请问这句DBQ=D:\\Tomcat4\\webapps\\ROOT\\web1\\web\\db1.mdb";
的作用是??如果不写又会如何呢??Top




