你的文件的属性有问题没有?比如你要写这个文件,然而
这个文件的属性却是只读的?
这个文件的属性却是只读的?
解决方案 »
- 02291的导致原因,求解
- 求一条MYSQL语句
- 救命!!jsp+javabean+sqlserver 报错[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
- SQL安装问题,请高手指教~~
- js代码中有一句未被执行,请大家帮帮忙
- 中文显示问题:张玥莹的“玥”字显示为“?”,请做答!多谢!
- 各位:问一个难度极大的问题:如果将浏览器中的页面文档扩展名干掉?
- 急!昨天弄了一个下午和晚上没弄出来,中文问题
- JAVA,使用存储过程,急用,快疯了,300分(另开帖)
- 我用的是jrun,请问怎样实现在jsp页面中,鼠标在某个图标上时,该图标所在位置就换成另一个图标
- 如何制作这样得路径??(例如:你现在所处得位置:CSDN>>提问>>回答)
- MM散分求救,decimal數據相加
导出EXCEL时出现这样的问题:
Error 500--Internal Server Error
java.lang.NullPointerException
at java.io.File.(File.java:180)
at jsp_servlet.__test_excel_s._jspService(__test_excel_s.java:167)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:446)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread
我是在weblogic上发布的,在tomcate上是可以的,大家知道是什么问题,怎么解决吗? 代码是:
<%@ page language="java" contentType="text/html; charset=GBK" %>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.File"%>
<%@ page import="java.util.Date"%>
<%@ page import="jxl.*"%>
<%@ page import="jxl.write.*"%>
<%
String str=(String)session.getAttribute("str");
String dri=(String)session.getAttribute("dri");
String tabname=(String)session.getAttribute("tabname");
String tabword=(String)session.getAttribute("tabword");
String pass="";
String filename ="";
String m ="";
int a1 = 0;
int b1 = 0;
String strname = "";
pass = new java.io.File(application.getRealPath("test_excel_s.jsp")).getParent() + "\\update\\";
java.text.SimpleDateFormat D = new java.text.SimpleDateFormat("yyyyMMddHHmmss");
String date = D.format(new java.util.Date());
a1 = Integer.parseInt(date.substring(6,8));
int number=new java.util.Random().nextInt(500);
filename="update\\"+date+number+".xls"; m=""+date+number+".xls";
File dir = new File(pass);
String[] files = dir.list();
for(int i = 0;i < files.length;i ++){
File f = new File(dir,files[i]);
strname = f.getName();
b1 = Integer.parseInt(strname.substring(6,8));
if(a1 - b1 >= 1){
try {
File myDelFile = new File(pass + strname);
myDelFile.delete();
} catch (Exception e) {
e.printStackTrace();
}
}
}%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<META HTTP-EQUIV="Refresh" CONTENT="2;URL=<%= filename %>">
<title>java2excel</title>
<style type="text/css">
<!--
.style3 {font-size: 18px; color: #FF0000; }
body {
background-color: #93C9FF;
}
-->
</style>
<script language="javascript">
function wclose(){
window.close();
}
</script>
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<CENTER>请等待,文件准备中...</CENTER>
<br><CENTER>把文件保存为Excel文件,如c:\temp\inventory.xls</CENTER><p>
<%
String cs="";
String ms="";
String cus="";
String po="";
String inv="";
String wh_code="";
String sl="";
String riqi="";
cs=(String)session.getAttribute("cs");
if(request.getParameter("ms")==null || request.getParameter("ms").length() ==0)
{
ms="";
}
else {
ms=request.getParameter("ms");
}
if(request.getParameter("cus")==null || request.getParameter("cus").length() ==0)
{
cus="";
}
else {
cus=request.getParameter("cus");
}
po=(String)session.getAttribute("pp");
inv=(String)session.getAttribute("ii");
wh_code=(String)session.getAttribute("ww"); if(request.getParameter("sl")==null || request.getParameter("sl").length() ==0)
{
sl="";
}
else {
sl=request.getParameter("sl");
sl=new String(sl.getBytes("ISO-8859-1"),"GBK");
sl=new String(sl);
}
if(request.getParameter("riqi")==null || request.getParameter("riqi").length() ==0)
{
riqi="";
}
else {
riqi=request.getParameter("riqi");
}
String s=pass+m;
String targetfile =s;//输出的excel文件名
String worksheet = "List";//输出的excel文件工作表名
Vector outerV = new Vector();
String[] title = {"WH_CODE","Receive NO","Product Code","uom","Product Description","Customer","Customer P/N","Received Qty","Received Date","Customer PO NO","InvoiceNO","Receive Type"};//excel工作表的标题
String sql="";
sql+="select V_WEB_VMI_RECEIVE_UOM.wh_code,V_WEB_VMI_RECEIVE_UOM.RECEIVE_NO,V_WEB_VMI_RECEIVE_UOM.PRODUCT_CODE,v_web_vmi_receive_uom.pack_code,PRODUCT.PRODUCT_DESC,Customer_Reference.CUSTref_NAME,V_WEB_VMI_RECEIVE_UOM.PRODUCT_ALIAS,V_WEB_VMI_RECEIVE_UOM.RECEIVED_QTY,V_WEB_VMI_RECEIVE_UOM.RECEIVED_DATE,V_WEB_VMI_RECEIVE_UOM.PO_NO,V_WEB_VMI_RECEIVE_UOM.LOT_NO,PRODUCT_CLASS.PDTCLASS_DESC,rownum rn from V_WEB_VMI_RECEIVE_UOM,customer,PRODUCT,product_class,customer_reference where V_WEB_VMI_RECEIVE_UOM.customer_code=customer.customer_code ";
sql+="and V_WEB_VMI_RECEIVE_UOM.PRODUCT_CODE=PRODUCT.PRODUCT_CODE and V_WEB_VMI_RECEIVE_UOM.pdtclass_code=product_class.pdtclass_code and V_WEB_VMI_RECEIVE_UOM.Customer_Code=customer_reference.customer_code and V_WEB_VMI_RECEIVE_UOM.Custref_Code=customer_reference.custref_code and customer.Customer_Code='" + cus + "' " + ms + " " + cs + " " + riqi + " " + po + " " + inv + " " + wh_code + " " + sl + " order by RECEIVED_date desc";
Class.forName(str);
try{
Connection conn=java.sql.DriverManager.getConnection(dri,tabname,tabword);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet res=stmt.executeQuery(sql);
while(res.next()){
Vector innerV1 = new Vector();
for(int i=1;i<=title.length;i++){
innerV1.add(res.getString(i));
}
outerV.add(innerV1);
}
conn.close();
stmt.close();
res.close();
}
catch(Exception e){} WritableWorkbook workbook;
try
{
OutputStream os=new FileOutputStream(targetfile);
workbook=Workbook.createWorkbook(os);
WritableSheet sheet = workbook.createSheet(worksheet, 0); //添加第一个工作表
jxl.write.Label label;
for (int i=0; i<title.length; i++)
{
label = new jxl.write.Label(i, 0, title[i]); //put the title in row1
sheet.addCell(label);
}
Vector innerV; //对象类
String attrib; //对象属性
jxl.write.Label content;
for (int i=0; i<outerV.size(); i++)
{
innerV = (Vector)outerV.get(i);
for (int j=0; j<innerV.size(); j++)
{
attrib = (String)innerV.get(j);
content = new jxl.write.Label(j, i+1, attrib); //put the data content in excel file
sheet.addCell(content);
}
}
workbook.write();
workbook.close();
os.close();
}
catch(Exception e)
{
e.printStackTrace();
}
%>
</p>
<form name="form1" method="post" action="test_excel_s.jsp?m=<%=m%>">
<CENTER><input type="submit" name="Submit" value="关闭" onClick="wclose()">
</CENTER>
</form>
<p> </p>
</body>
</html>