`
tudou721
  • 浏览: 61583 次
  • 性别: Icon_minigender_2
  • 来自: 河南
社区版块
存档分类
最新评论

上传excel文件并在服务器端读取存入数据库

阅读更多
页面jsp文件
<form name="add" action="/gxtWeb/lvjcontacts/manyContacts.action" method="post" enctype="multipart/form-data" onsubmit="return checkNull();"> 
  		 <s:file name="upload"></s:file>
  		<input type="submit" value="导入信息" >
  	</form> 
action处理:
public class ManyContactsAction extends ActionSupport {
private File upload;
	private String uploadContentType;// 要上传的文件的类型
	private String uploadFileName;// 要上传的文件
	private ContactsManager manager;
	private Contacts cbean;
	private Persons pbean;
	private Long gid;
	private String result;
public String execute() throws Exception {
		// 检查后缀名是否符合条件,同时更改上传文件的文件名
		int filesize = this.getUploadFileName().length();
		String fileEx = this.getUploadFileName().substring(
				this.getUploadFileName().indexOf("."), filesize);
		//获取文件名
		String fileName=uploadFileName.substring(0,uploadFileName.indexOf("."));
		// 获得上传路径
		String realPath = ServletActionContext.getServletContext().getRealPath(
				"/UploadFile/");
		File saveFile=null;
		if (upload != null) {
			// 修改文件名,使上传后不至于重复替代
			// this.uploadFileName = new Date().getTime() + fileEx;
			saveFile = new File(new File(realPath), uploadFileName);
			if (!saveFile.getParentFile().exists()) {
				saveFile.getParentFile().mkdirs();
			}

			FileUtils.copyFile(upload, saveFile);// 到这里,文件已上传成功
			// 下面进行判断文件是否是rar文件,是就需要解压
			if (fileEx.equals(".rar")) {
				System.out.println("saveFile:" + saveFile);//rar文件所在保存路径
				System.out.println("realPath:" + realPath);//解压后保存路径
				// 定义解压字符串,用于解压上传的rar文件,注意此处需要一个unrar.exe文件
				String rarpath = ServletActionContext.getServletContext()
						.getRealPath("/rarFile/UNRAR.exe x -t -o+ -p- \"");
				String jieya = rarpath + saveFile + "\" \"" + realPath + "\"";
				Process p1 = Runtime.getRuntime().exec(jieya);// 将传输的rar文件解压
				p1.waitFor();
				p1.destroy();
				FileUtils.deleteQuietly(saveFile);// 删除rar文件
				saveFile=new File(new File(realPath),fileName+".xls");
				System.out.println("解压后:"+saveFile);
				ServletActionContext.getResponse().getWriter().println(
						"success!!");
			}
			if (fileEx.equals(".xls") || fileEx.equals(".xlsx")) {
				// 开始读取文件了,获得第一列手机号码
				Workbook persons = Workbook.getWorkbook(saveFile);// 获得xls文件
				Sheet sheet = persons.getSheet(0);// 获得第一个工作簿
				System.out.println("列数:" + sheet.getColumns());
				int count = sheet.getRows();// 取得记录数,count行
				String cphone;
				// 遍历行,获得列数据
				for (int i = 0; i < count; i++) {
					cphone = sheet.getCell(0, i).getContents();// 第一列的所有行
					pbean = manager.getPerson(cphone);// 获得该用户,查询别的信息
					cbean = new Contacts();
					Long contactsid = pbean.getId();
					Long pid = 10002L;
					cbean.setContactsid(contactsid);// 联系人id
					cbean.setPid(pid);// 用户本身的PID
					cbean.setCid("cid");// 关系的学校ID
					cbean.setGid(gid);// 分组id
					manager.addPerson(cbean);
					this.contactsLog.writeLog("10002", "批量添加联系人", "批量添加联系人操作", "");
					System.out.println("添加成功!");
				}
			}
			return SUCCESS;
		} else {
			return INPUT;
		}
	}
}

xml配置:
<action name="manyContacts" class="manyContactAction">
			<result name="success" type="redirectAction">personInfo.action
			</result>
			<result name="input" type="redirectAction">showmangpersons.action
			</result>
</action>
注意:在文件解压时,需要一个unrar.exe文件,这个文件应保存在工程相应的目录下,我就放在webapps里面了,
按照上面的路径即可获得解压文件并进行解压。
  这里配置文件没写任何限制,拦截器之类,都在action里面进行判断了,这里只做了类型判断,没有别的。
0
0
分享到:
评论

相关推荐

    asp文件上传并存入数据库

    在这个项目中,"asp文件上传并存入数据库"是一个具体实现,它涉及到ASP(Active Server Pages)编程、文件操作、以及数据库交互等多个技术领域。ASP是微软开发的一种服务器端脚本语言,常用于构建动态网站,与IIS...

    使用servlet,jsp实现Excel文件的上传和数据库的导入

    这个场景中,我们将讨论如何使用Servlet和JSP来实现在Java Web应用中完成Excel文件的上传,并将其数据导入到MySQL数据库。Servlet是Java中用于处理HTTP请求的服务器端组件,而JSP则是一种动态网页技术,它们结合使用...

    ASP读取Excel文件并写入Access数据库

    本示例中的“ASP读取Excel文件并写入Access数据库”是一个实用的应用场景,它涉及到数据迁移和整合,具体包括Excel数据的读取以及将这些数据存入Access数据库。下面我们将详细探讨这一过程。 首先,我们需要了解ASP...

    jsp实现excel上传至数据库,以及 从数据库导出excel

    2. 文件上传:在服务器端,JSP接收到文件后,使用Apache POI解析Excel文件,读取其中的数据。这一过程中,可能需要处理行、列、单元格等元素,将数据转化为Java对象或数组。 3. 数据存入数据库:将解析出的数据插入...

    java实现读取word文件并且上传到数据库

    本项目关注的是如何使用Java来实现读取Microsoft Word文件,并将其中的数据上传到数据库,以此提升数据录入的效率。这一过程涉及到多个技术点,包括文件I/O、Word文档解析、数据库操作以及可能的数据转换。 首先,...

    asp上传excel并读取入库

    在ASP(Active Server Pages)开发中,上传Excel文件并读取其内容然后存入数据库是一项常见的任务,尤其在处理大量结构化数据时。这个过程通常包括以下步骤: 1. **文件上传**:ASP中可以使用`&lt;input type="file"&gt;`...

    ASP读取本地Excel、Word文件转成html入库

    在ASP(Active Server Pages)开发中,经常需要处理与数据导入导出相关的任务,例如将Excel和Word文档的数据转换为HTML格式并存入数据库。在这个场景下,ASP结合Access数据库可以实现这一功能。以下是对这一过程的...

    php读取EXCEL文件.zip

    在IT行业中,PHP是一种广泛使用的服务器端脚本语言,尤其在Web开发领域有着重要的地位。当我们需要处理Excel文件时,PHP提供了多种库和方法来实现这一功能。在本篇文章中,我们将深入探讨如何使用PHP来读取Excel文件...

    java上传excel并且解析入库

    用户通过表单提交包含Excel文件的数据,服务器端接收到请求后,会将文件保存在服务器的一个特定目录下。以下是一个简单的Spring MVC控制器示例: ```java import org.springframework.http.ResponseEntity; import ...

    asp将EXCEL导入导出数据库原程序

    这个"asp将EXCEL导入导出数据库原程序"提供了一个解决方案,能够方便地将Excel中的数据存入MSSQL数据库,同时也能将数据库中的数据导出到Excel文件。 首先,我们需要了解如何使用ASP连接MSSQL数据库。通常,这涉及...

    文件上传使用POI导入数据库

    服务器端通常使用特定的库或框架(如Spring MVC、Struts2等)来处理这些上传请求,解析请求体中的文件内容,并保存到服务器的临时目录或者指定位置。文件上传时需要注意文件大小限制、安全性(防止文件注入攻击)...

    php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)

    在PHP代码实现上,我们需要创建一个解析函数(例如parse()),用于处理上传的Excel文件,并将数据导入数据库。在这个函数中,首先会检查文件是否上传成功,其次会引入ExcelFileParser类,并创建其对象实例。通过调用...

    java POI完整示例,POI将word转HTML,数据库倒出数据到Excel等

    总结,Java POI是一个强大且灵活的工具,对于处理Office文档,尤其是在服务器端自动化操作中非常实用。通过上述的知识点讲解,你应该对如何使用POI有了更深入的理解,可以尝试使用提供的示例代码进行实践。

    asp.net 导入Excel文件

    在服务器端,我们可以通过`HttpPostedFileBase`类来接收和处理这个文件。在ASP.NET Web Form中,可以使用`&lt;asp:FileUpload&gt;`控件来创建一个文件上传界面,而在ASP.NET MVC中,可以在视图中创建...

    .net asp.net制作的Excel导入SQL数据库源码 asp.net源码

    当用户上传Excel文件后,程序会解析文件内容,然后将这些内容转换为SQL插入语句,最终执行这些语句将数据存入数据库。这通常涉及到以下步骤: 1. **文件上传**:ASP.NET提供了FileUpload控件,允许用户选择本地...

    bootstrap--excel表上传所需jar包.zip

    在后端,你需要配合服务器端代码处理上传的文件,例如读取、验证或存储Excel数据。 2. **poi-ooxml-3.9.jar** 和 **poi_3.9.jar**:Apache POI 是一个开源项目,用于处理Microsoft Office格式的文件,包括Excel(....

    ajax上传excel

    - **PHP接收**:在服务器端,我们需要一个PHP脚本来接收并处理上传的文件。首先,确保`enctype="multipart/form-data"`在表单的`&lt;form&gt;`标签中设置,以支持文件上传。然后,在PHP中,我们可以使用`$_FILES`全局变量...

    导入Excel.zip

    此案例中,你需要理解如何在API端接收并验证上传的Excel文件。 3. **Excel操作库**: 为了读取和解析Excel文件,开发者通常会使用第三方库,如EPPlus、NPOI或Microsoft Office Interop等。这个案例可能使用了其中...

    jfinal 下的多文件上传以及对 excel 的导入导出 demo

    在描述中提到的`ajaxFileupload`是一个JavaScript库,用于异步文件上传,通常与服务器端的`JFinal`配合使用。在`JFinal`中,你需要配置`Controller`来接收并处理上传请求。例如: ```java public class ...

Global site tag (gtag.js) - Google Analytics