获取excel导入路径

上传excel文件

$("#upload").ajaxSubmit({
	type: "post",
	url: basePath+'/util/uploadExcel.jsp',	
	success: function (text) {
	var filePath = text;//获取上传文件路径
	},
})

uploadExcel.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" session="false" %>
<%@ page import="java.io.*,java.util.*" %>
<%@ page import="javax.servlet.http.*" %>
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="org.apache.commons.fileupload.disk.*" %>
<%@ page import="org.apache.commons.fileupload.servlet.*" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.net.URLEncoder" %>

<%
	// 文件存储目录
	String filePath = request.getSession().getServletContext().getRealPath("\\") + "importfile\\";
	
	filePath = filePath.replace("\\", File.separator);
	
	File pathFile = new File(filePath);
	if(!pathFile.exists()){
		pathFile.mkdirs();
	}
	//String maxSize = UtilCommon.getDefaultEntityByKey(IMSConstant.DS_NAME, "MAX_FILE_SIZE");
	int maxFileSize = 20 * 1024 * 1024; // 最大上传的文件大小(20M)
	int maxMemSize = 1000 * 1024; // 内存中存储文件的最大值
	
	String contentType = request.getContentType();
	if ((contentType.indexOf("multipart/form-data") >= 0)){
		DiskFileItemFactory factory = new DiskFileItemFactory();
		// 设置内存中存储文件的最大值
      	factory.setSizeThreshold(maxMemSize);
      	// 本地存储的数据大于 maxMemSize
      	factory.setRepository(pathFile);
      	// 创建一个新的文件上传处理程序
        ServletFileUpload upload = new ServletFileUpload(factory);
		// 设置最大上传的文件大小
        upload.setSizeMax(maxFileSize);
        try{
        	// 解析获取的文件
         	List<?> fileItems = upload.parseRequest(request);
         	// 处理上传的文件
         	Iterator<?> i = fileItems.iterator();
			while (i.hasNext ()){
            	FileItem fi = (FileItem)i.next();
            	if (!fi.isFormField()){
            		// 获取上传文件的参数
            		String fieldName = fi.getFieldName();
            		String fileName = fi.getName().replaceAll(" ", "");
            		boolean isInMemory = fi.isInMemory();
            		long sizeInBytes = fi.getSize();
            		
					// 随机文件名
					SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyyMMddhhmmss");
					String date = sDateFormat.format(new Date());
					String fileNameEnd = date + Math.random() * 100000;
					fileNameEnd = fileNameEnd.substring(0, fileNameEnd.indexOf("."));
            		fileName = fileNameEnd + fileName.substring(fileName.lastIndexOf("."));
					
					// 写入文件
					File file = new File(filePath, fileName);
					fi.write(file) ;
            		//System.out.println("文件上传成功: " + filePath + fileName);
            		// 返回文件地址和名称
            		String str = URLEncoder.encode(filePath + fileName, "utf-8");
            		//System.out.println("=========server path:====" + str);
            		
            		
            		String tempPath = filePath + fileName;
            		
            		response.setCharacterEncoding("utf-8");
            		response.setHeader("Content-type", "text/html;charset=utf-8");
            		response.setContentType("text/html;charset=utf-8");
            		
            		PrintWriter pw = response.getWriter();
            		pw.print(tempPath);
            		pw.flush();
            		pw.close();
            	}
            }
        }catch(Exception ex){
        	System.out.println(ex.getMessage());
        }
	}
%>

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C语言中,要读取Excel导入到.accdb文件中,你可以使用以下步骤: 1. 首先,你需要使用C语言的文件操作函数来打开Excel文件。你可以使用标准的文件操作函数,如fopen()来打开Excel文件。 2. 接下来,你需要使用Excel文件的路径。在C语言中,文件路径需要以字符串形式表示。由于C语言中的字符串规则,你需要使用双斜杠(\\)来表示单个斜杠(\)。所以,你的Excel文件路径应该写成类似于"C:\\path\\to\\excel.xlsx"的形式。 3. 一旦你打开了Excel文件,你可以使用C语言的Excel库或者第三方库来读取Excel文件的内容。你可以使用库函数来读取Excel文件中的数据,并将其存储在C语言的变量中。 4. 接下来,你需要使用C语言的数据库操作函数来连接到.accdb文件。你可以使用标准的数据库操作函数,如ODBC或者ADO来连接到.accdb文件。 5. 一旦你连接到了.accdb文件,你可以使用C语言的数据库操作函数来将Excel文件中的数据导入到.accdb文件中。你可以使用INSERT语句将数据插入到.accdb文件的表中。 总结起来,要在C语言中读取Excel导入到.accdb文件中,你需要使用文件操作函数打开Excel文件,使用Excel库或者第三方库读取Excel文件的内容,使用数据库操作函数连接到.accdb文件,然后使用INSERT语句将数据导入到.accdb文件中。记得在C语言中正确处理文件路径的转义字符。 #### 引用[.reference_title] - *1* *2* *3* [asp.net中的数据连接](https://blog.csdn.net/sjpljr/article/details/67639128)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值