如何将jsp 中的数据导入到excel表格 中

如何将jsp 中的数据导入到excel表格 中,第1张

可以用servlet实现跳转redirectnameExcel.xls就行了。

//拼凑excel文件名字

String filename = String.valueOf(year)+String.valueOf(month)+String.valueOf(day)+h+mise+".xls"

String path = getServletContext().getRealPath("excelexport")

System.out.println("path:"+path)

try{

FileOutputStream fos = new FileOutputStream(path+"/"+filename)

// 创建新的Excel 工作簿

HSSFWorkbook wb = new HSSFWorkbook()

// 在Excel 工作簿中建一工作表

HSSFSheet s = wb.createSheet()

String sheetName = year+"-"+month+"-"+day

wb.setSheetName(0, sheetName)

//在索引0的位置创建行(第一行)

HSSFRow row = s.createRow((short)0)

HSSFCell cell0 = row.createCell((short) 0)// 第一列

HSSFCell cell1 = row.createCell((short) 1)

HSSFCell cell2 = row.createCell((short) 2)

HSSFCell cell3 = row.createCell((short) 3)

HSSFCell cell4 = row.createCell((short) 4)

HSSFCell cell5 = row.createCell((short) 5)

HSSFCell cell6 = row.createCell((short) 6)

// 定义单元格为字符串类型

cell0.setCellType(HSSFCell.CELL_TYPE_STRING)

cell1.setCellType(HSSFCell.CELL_TYPE_STRING)

cell2.setCellType(HSSFCell.CELL_TYPE_STRING)

cell3.setCellType(HSSFCell.CELL_TYPE_STRING)

cell4.setCellType(HSSFCell.CELL_TYPE_STRING)

cell5.setCellType(HSSFCell.CELL_TYPE_STRING)

cell6.setCellType(HSSFCell.CELL_TYPE_STRING)

cell0.setEncoding(HSSFCell.ENCODING_UTF_16)

cell1.setEncoding(HSSFCell.ENCODING_UTF_16)

cell2.setEncoding(HSSFCell.ENCODING_UTF_16)

cell3.setEncoding(HSSFCell.ENCODING_UTF_16)

cell4.setEncoding(HSSFCell.ENCODING_UTF_16)

cell5.setEncoding(HSSFCell.ENCODING_UTF_16)

cell6.setEncoding(HSSFCell.ENCODING_UTF_16)

// 在单元格中输入数据

cell0.setCellValue("科室名")

cell1.setCellValue("版组")

cell2.setCellValue("注册名")

cell3.setCellValue("问题题目")

cell4.setCellValue("问题内容")

cell5.setCellValue("发表时间")

cell6.setCellValue("Status")

KSuser ks =new KSuser()

HSSFRow[] rows = null

if(list != null &&list.size()>0){

rows = new HSSFRow[list.size()]

}

int j = 1

for(int k=0k <list.size()k++){

ks =list.get(k)

//设置行从第二行开始

rows[j-1] =s.createRow((short)(j))

String[] str =new String[7]

str[0]=ks.getKeshi()

str[1]=ks.getBanzu()

str[2]=ks.getReg_name()

str[3]=ks.getSubject()

str[4]=ks.getText()

str[5]=ks.getRe_day().toString()

str[6]=ks.getStatus()

for(int i=1i <8i++){

HSSFCell cell =rows[j-1].createCell((short)(i-1))

cell.setEncoding(HSSFCell.ENCODING_UTF_16)

cell.setCellType(HSSFCell.CELL_TYPE_STRING)

cell.setCellValue(str[i-1])

}

j++

}

wb.write(fos)

fos.close()

}catch(Exception e){

e.printStackTrace()

out.println(" <script>alert('异常 *** 作,文件可能正保护中\\n请重试!')history.go(-1)</script>")

}

String urlname = request.getRequestURI()

urlname = urlname.replaceAll("excel", "excelexport")

urlname = urlname+"/"+filename

System.out.println("urlname:"+urlname)

//request.getSession().setAttribute("excelfile", urlname)

response.sendRedirect(urlname)

<script

type="text/javascript">

function

modify(id){

//直接链接提交

var

num

=

document.getElementById(id).value

var

url

=

"/要提交的servlet地址?bookid="+id+"&num="+num

location

=

url

}

//添加到购物车

function

add(id){

var

url

=

"/要提交的servlet地址?bookid="+id

location

=

url

//通过id在后台得到实体对象,然后放到购物车即可

}

</script>

不知道你会EL和JSTL表达式,直接用java代码了

每一条记录肯定有个唯一标示的id,假设这个对象是Book,集合是list

<%

for(Book

book

:

list){

%>

<tr>

<td><%=book.id%></td>

<!--id-->

<td><%=book.name%></td>

<!--书名-->

<td><input

type="text"

name="num"

id="<%=book.id%>"

value="<%=book.num%"></td>

<!--数量->

<td><input

type="button"

value="修改"

onclick="modify(<%=book.id%>)"></td>

<td><input

type="button"

value="添加到购物车"

onclick="add(<%=book.id%>)"></td>

<tr>

<%

}

%>

第一种方法:

通过三条SQL语句完成插入,即Insert into前,使用Select 项目名 into :

变量 From 另一张表 where ID=你这里的ID,同理处理后面一个。

第二种方法:

直接在你插入的表中插入项目ID和经办人ID,在显示的时候,使用

Select 项目名,姓名 From 表1,表2,表3 where 表1.项目ID=表2.项目ID and 表1.姓名ID=表3.姓名ID

这里表1是插入的表格,表2是包括项目ID和项目名称的那张表格,表3是包括姓名ID和姓名的那张表格。

补充回答:

在SQLServer中要通过转换才能以datetime进行存储,使用convert函数。

经常使用convert(datetime变量)。

注意:变量是指那个控件下面的属性。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6800290.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存