`
vista_move
  • 浏览: 30082 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ajax读取文件数据并写入数据库

    博客分类:
  • java
阅读更多
<html>
  <head>
    <title>导入观众数据</title>
    <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
    <script language="Javascript">
    	function importDate() {
    		var filename = $("#attachfile").val();
    		if(!(filename.indexOf(".xls") > -1 || filename.indexOf(".xlsx") > -1)) {
    			alert("请选择正确的Excel格式文件");
    		}else {
    			$("#uploadForm").submit();
    		}
    	}
    	function callback(msg)
		{
			document.getElementById("msg").innerHTML = "进度:" + msg;
		}
    </script>
  </head>
  <body>
		     <form name="uploadForm" id="uploadForm" method="POST"  action="<%=path %>/servlet/VisitorServlet?op=importExcel" enctype="multipart/form-data" target="hidden_frame">
		           <table border="0" cellspacing="0" cellpadding="0" class="edit-table">
		               <thead>
		                 <tr>
		                   <th colspan="2"><img src="../../Images/photo_album.png" >导入数据</th>
		                 </tr>
		               </thead>
		               <tbody>
		                 <tr>
							<th width="20%"><span></span>数据文件:</th>
							<td width="30%"><input type="file" name="attachfile" id="attachfile" size="30"/></td>
						</tr>
						<tr>
							<td colspan="2">
								<span id="msg">进度:</span>
							</td>
						</tr>
	                  </tbody>
		          </table>
		          <iframe name="hidden_frame" id="hidden_frame" style="display:none"></iframe>
		       </form>   
	 	<input type="button" class="shop-btn1"  value="导入" onclick="javascript:importDate();"/>
		<input type="button" class="shop-btn1" value="关闭窗口"  onClick='javascript:window.open("","_self");window.close();'/>
</body>
</html>

说明:建一个隐藏的iframe,在form的target=“隐藏iframe的id”

servlet逻辑:
ServletInputStream is = request.getInputStream();
			/*过滤HTTPHeader,否则jxl会报无法识别文件结尾的错误*/    
			byte[] junk = new byte[1024]; 
			
			for(int i = 0; i < 4; i++)     
			{     
				is.readLine(junk, 0,junk.length);
			}
			int result = vm.importExcelDateNew(is, out);
			if(result != -1 && result == -2) {
				out.println("<script language='Javascript'> ");
				out.println(" alert('导入观众数据成功!');");
				out.println(" top.callback('导入成功');");
				out.println(" top.window.close();");
				out.println(" window.close();");
				out.println("</script>");
			}else {
				out.println("<script language='Javascript'> ");
				out.println(" alert('导入第"+ result +"条数据时出现异常!');");
				out.println(" top.callback('导入失败');");
				out.println("</script>");
			}


public int importExcelDateNew(InputStream in, PrintWriter out) throws IOException {

		Workbook book; // 声明一个空的工作对象
		int result = 0;
		VisitorDB vb = new VisitorDB();
		try {
			book = Workbook.getWorkbook(in); // 使工作薄对象得到一个execl
			Sheet se = book.getSheet(0); // 得到Excel第一个sheet
			System.out.println("*********开始从导入观众数据*********");
			result = vb.importExcelDate(se, out);
			System.out.println("*********导入观众数据结束***********");
		} catch (Exception e) {
			e.printStackTrace();
			return -1;
		}
		return result;
	}


导入过程回调jsp页面的方法即可查看当前进度
分享到:
评论

相关推荐

    java实现本地读取图片存储到数据库中并在html网页显示

    在Java后端,创建一个处理请求的Controller方法,查询数据库并将图片数据返回给前端。 4. **在HTML中显示图片**: 前端接收到图片的二进制数据后,可以通过`Blob`和`URL.createObjectURL()`将数据转化为URL,然后...

    把Excel里的数据写进数据库

    本篇文章将详细介绍如何通过网页上传Excel文件并将其中的数据写入数据库。 首先,我们需要理解上传Excel的基本流程。这个过程通常包括前端用户界面设计、文件上传处理、后端数据解析以及数据库交互四个主要步骤。 ...

    网页上传且将excel里数据传到数据库

    总结一下,实现“网页上传且将Excel里数据传到数据库”涉及的技术和步骤包括:前端文件上传接口、后端文件接收与处理、Excel读取库、数据清洗、数据库操作、异常处理、安全策略等。每个环节都需要精心设计和优化,以...

    lotus domino AJAX 读取数据

    Lotus Domino AJAX 读取数据涉及前端开发中的Ajax技术,主要使用JavaScript和ECMAScript来实现与服务器端的异步通信。Lotus Domino是一个企业级的协作平台,它提供了多种方式来存储和处理数据,包括文档数据库...

    ASP源码—AJAX+ACCESS数据库操作实例源码.zip

    在ASP页面中,开发者可以嵌入脚本代码来处理服务器端的数据,比如读取、写入文件,访问数据库等。ASP页面会被IIS(Internet Information Services)这样的Web服务器解释并返回给客户端。 接着,我们谈谈AJAX。AJAX...

    highcharts读取数据库数据并在HighCharts上显示

    使用ADO.NET或者Entity Framework等.NET框架,我们可以编写C#代码来连接数据库并执行查询。例如: ```csharp using System.Data.SqlClient; // 创建数据库连接字符串 string connectionString = "Data Source=...

    asp.net读取串口数据

    3. **数据处理**:读取到串口数据后,可以将数据保存到数据库、文本文件或者消息队列(如Azure Service Bus或RabbitMQ)。 4. **创建ASP.NET Web应用**:在Web应用中,创建一个页面用于显示串口数据。可以使用AJAX...

    dwr结合jQuery实现Ajax技术 ,Oracle作为后台数据库,jxl + poi报表

    jxl是一个开源库,用于读取和写入Microsoft Excel文件。它提供了方便的API,让开发者能够创建、修改或读取Excel工作簿、工作表和单元格数据。另一方面,Apache POI是另一个流行的Java库,用于处理Microsoft Office...

    无数据库的基于ajax技术的php聊天室

    在服务器端,PHP处理这些Ajax请求,读取或写入聊天记录文件。可能的实现方式是,当接收到新消息时,PHP脚本将消息写入当前日期对应的文件,并返回成功信息给前端。同样,当用户发送消息时,PHP接收请求,将消息添加...

    jstree 文件系统 web php 数据库

    当用户在前端进行操作时,这些变化会被发送到PHP,然后PHP将更新写入数据库。数据库提供了数据的一致性、可靠性和可扩展性,确保即使在高并发访问下也能正确处理文件系统操作。 **实现细节** 1. **初始化jstree**...

    网格数据导出到csv文件(含数据库)

    通常,这样的程序会包含读取数据库、转换数据格式、将数据写入CSV文件,以及可能的用户交互逻辑。 总结来说,这个主题涵盖了以下知识点: 1. CSV文件格式及其在数据交换中的作用。 2. Access数据库的使用,包括数据...

    PHP+txt+AJAX 无刷新留言本(有趣的熊猫)

    PHP的优势在于它可以与多种数据库进行交互,但由于这是一个基于txt存储的项目,所以数据直接写入文本文件。 ### txt文件存储 在这个应用场景下,选择txt文件作为数据存储介质是一种简洁且低成本的解决方案。txt文件...

    servelet可以将文件保存到数据库

    此外,为了防止文件过大导致内存溢出,可以考虑先将文件写入临时文件,然后再将文件内容读取到数据库。 总之,这个项目展示了如何使用Servlet处理文件上传,并将文件内容保存到MySQL数据库。通过这种方式,可以实现...

    Java表格数据导出Excel&Excel数据导入到数据库

    在`Export.java`文件中,开发者可能使用了`HSSFWorkbook`(针对旧版的XLS格式)或`XSSFWorkbook`(针对较新的XLSX格式)来创建工作簿对象,然后通过`Sheet`和`Row`对象创建工作表和行,并填充单元格数据。...

    Java实现XML导入不同数据库,从数据库导出数据到XML

    在这个场景中,我们探讨的是如何使用Java来实现在XML与不同类型的数据库之间的数据导入和导出,并结合了前台的Ajax技术以实现更流畅的用户体验。 首先,XML(eXtensible Markup Language)是一种用于存储和传输结构...

    aspnet(C#)实现从sqlserver数据库中下载以二进制存储的图片

    在ASP.NET(C#)开发中,常常需要处理存储在SQL Server数据库中的二进制数据,例如图片、PDF文档等。本教程将详细讲解如何从数据库中下载这些以二进制形式存储的图片。 首先,我们需要了解数据库中二进制数据的存储...

    JSP上传excel及excel插入至数据库的方法.docx

    本文主要介绍了JSP上传excel及excel插入至数据库的方法,涉及JSP文件上传及针对excel的读取、写入数据库等操作技巧。下面是详细的知识点解析: JSP文件上传 在HTML页面中,我们使用了form表单来上传excel文件,...

    HTML读取Excel表内容的js插件

    本主题聚焦于使用JavaScript插件将Excel文件的内容读取并显示在HTML页面上,甚至实现将这些数据上传到数据库的功能。我们关注的插件是`js-xlsx`,这是一个广受欢迎的开源库,用于处理XLSX和XLSM格式的电子表格文件。...

Global site tag (gtag.js) - Google Analytics