
可以用servlet实现跳转redirectnameExcelxls就行了。
//拼凑excel文件名字
String filename = StringvalueOf(year)+StringvalueOf(month)+StringvalueOf(day)+h+mise+"xls";
String path = getServletContext()getRealPath("excelexport");
Systemoutprintln("path:"+path);
try{
FileOutputStream fos = new FileOutputStream(path+"/"+filename);
// 创建新的Excel 工作簿
HSSFWorkbook wb = new HSSFWorkbook();
// 在Excel 工作簿中建一工作表
HSSFSheet s = wbcreateSheet();
String sheetName = year+"-"+month+"-"+day;
wbsetSheetName(0, sheetName);
//在索引0的位置创建行(第一行)
HSSFRow row = screateRow((short)0);
HSSFCell cell0 = rowcreateCell((short) 0);// 第一列
HSSFCell cell1 = rowcreateCell((short) 1);
HSSFCell cell2 = rowcreateCell((short) 2);
HSSFCell cell3 = rowcreateCell((short) 3);
HSSFCell cell4 = rowcreateCell((short) 4);
HSSFCell cell5 = rowcreateCell((short) 5);
HSSFCell cell6 = rowcreateCell((short) 6);
// 定义单元格为字符串类型
cell0setCellType(HSSFCellCELL_TYPE_STRING);
cell1setCellType(HSSFCellCELL_TYPE_STRING);
cell2setCellType(HSSFCellCELL_TYPE_STRING);
cell3setCellType(HSSFCellCELL_TYPE_STRING);
cell4setCellType(HSSFCellCELL_TYPE_STRING);
cell5setCellType(HSSFCellCELL_TYPE_STRING);
cell6setCellType(HSSFCellCELL_TYPE_STRING);
cell0setEncoding(HSSFCellENCODING_UTF_16);
cell1setEncoding(HSSFCellENCODING_UTF_16);
cell2setEncoding(HSSFCellENCODING_UTF_16);
cell3setEncoding(HSSFCellENCODING_UTF_16);
cell4setEncoding(HSSFCellENCODING_UTF_16);
cell5setEncoding(HSSFCellENCODING_UTF_16);
cell6setEncoding(HSSFCellENCODING_UTF_16);
// 在单元格中输入数据
cell0setCellValue("科室名");
cell1setCellValue("版组");
cell2setCellValue("注册名");
cell3setCellValue("问题题目");
cell4setCellValue("问题内容");
cell5setCellValue("发表时间");
cell6setCellValue("Status");
KSuser ks =new KSuser();
HSSFRow[] rows = null;
if(list != null && listsize()>0){
rows = new HSSFRow[listsize()];
}
int j = 1;
for(int k=0;k <listsize();k++){
ks =listget(k);
//设置行从第二行开始
rows[j-1] =screateRow((short)(j));
String[] str =new String[7];
str[0]=ksgetKeshi();
str[1]=ksgetBanzu();
str[2]=ksgetReg_name();
str[3]=ksgetSubject();
str[4]=ksgetText();
str[5]=ksgetRe_day()toString();
str[6]=ksgetStatus();
for(int i=1;i <8;i++){
HSSFCell cell =rows[j-1]createCell((short)(i-1));
cellsetEncoding(HSSFCellENCODING_UTF_16);
cellsetCellType(HSSFCellCELL_TYPE_STRING);
cellsetCellValue(str[i-1]);
}
j++;
}
wbwrite(fos);
fosclose();
}catch(Exception e){
eprintStackTrace();
outprintln(" <script>alert('异常 *** 作,文件可能正保护中\\n请重试!');historygo(-1); </script>");
}
String urlname = requestgetRequestURI();
urlname = urlnamereplaceAll("excel", "excelexport");
urlname = urlname+"/"+filename;
Systemoutprintln("urlname:"+urlname);
//requestgetSession()setAttribute("excelfile", urlname);
responsesendRedirect(urlname);
分两步,1得到服务器端的String字符串,二、将字符串转成Double:
1、var str = "<%=ServerSideStringValue %>";
2、var double_var = Number(str);
你的是不是显示这句啊
orgapachejasperJasperException: javalangNullPointerException
这是空指针异常。
就是说你的文本框还没输入内容呢就已经执行了
String x=requestgetParameter("text1");
int ca=IntegerparseInt(x);//x什么都没有当然会空指针了(还有一种可能性就是jsp在执行的时候先执行脚本再执行页面,这种情况的的话就相当于你没有定义text1了,这样也可能会是空指针)
这两句了,建议你不要写这种脚本的格式
用EL表达式和jstl的组合
两种方法:1还是java代码。在jsp页面中,利用在这里面写代码。2jstl标签。首先你要在你的jsp头文件里面引用jstl标签库。其实也是java代码,只不过java封装了里面的代码。
首先在JSP页面的数据库处理部分使用:try {statement();}catch(SQLException e) {1、像上面的语句中,我不知道是复制过来的还是写错了:String sql=insert into tb_member values('+income+');很明显右边少了一个引号:String sql=insert into tb_member values('+income+');2、抛出异常中可能说明是违反主键约束:查看数据库表,将次主键约束暂时删除。3、抛出异常可能说明字符串被截断,说明你定义的char类型太短,一般向这样的字段保持定义在varchar(20)左右。4、本来还有可能是类型不匹配或指定参数太多或不够等,但就你题目中描述,只有一个字段就能出现这样的异常了。出于个人开发经验的一点点建议:以后连接数据库不要这样去连接,尽量使用Bean去完成,不然程序很混乱,以后维护非常困难。对数据库的 *** 作不要显示地去指定参数和表,尤其是参数,可以使用预处理方式,多步骤连贯 *** 作,可以使用事务来达到数据 *** 作的原子性,当然某些也可以通过数据库的事务去完成。多步骤的非连贯信息的 *** 作可以使用JDBC 30提供的批处理方式去完成以提高对数据库的批量访问成10倍得提高效率。像在做通用模板的时候,对数据库的表的指定的动态赋予的,当然对其某些字段的 *** 作也是动态的,那么数据库类型和参数的个数也是动态的,如果用上述过程去完成非常困难。尤其还要对一些数据库内部的空值异常进行处理。1、公司数据没有改变,就改变报表的样式。2、公司报表总数没有变,某些报表数据有增加或删除的现象。3、公司的报表有增加。
如果你没有使用框架,那就用html语言和<%%> scriptlet来处理。
类似这样子
<%
List list= 数据List;//你的数据
%>
<table border="1">
<tr>
<td>ID</td>
<td>名字</td>
<td>年龄</td>
</tr>
<%
for(int i=0;i<listsize();i++){
%>
<tr>
<td><%=(Data)listget(i)id%></td>
<td><%=(Data)listget(i)name%></td>
<td><%=(Data)listget(i)age%></td>
</tr>
<%
}
%>
</table>
-----------------------------------------------------
你参考下我今天上课了的读数据库写法就行了,记得引包。
-----------------------------------------------------
请参考下面的资料,struts标签用法参考,查看optgroup章节
方法:
requestgetParameter("")得到的是String类型的数据:
应该是Sting age = requestgetParameter("age");
如果想转化为int类型的,再进行转化:int int_age = IntIntegerparseInt(age
以上就是关于如何将jsp 中的数据导入到excel表格 中全部的内容,包括:如何将jsp 中的数据导入到excel表格 中、javascript中使用jsp从数据库读取的String类型数据,并将String转换成duouble.、JSP 数据类型转换等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)