excel表格/txt数据读取工具
来源:互联网 发布:php $a & 7 变量 编辑:程序博客网 时间:2024/05/21 09:13
这边分享一个excel表格数据的行读取,因为一般都是先转成cvs格式,所以请excel打开后,另存为cvs格式的文件,然后在上传。这边cvsReader限制了行读取为8192行,所以这个工具也支撑了txt文件读取,数据之间用"_"隔开。
上传文件用原生的上传文件方式,上传方式如下:
$(function() {$('#sendMessage').click(function() {var $form = $('#message-form');var filePhoneNum=$('#phoneNumFile')[0].files[0];// 异步上传图片var formData = new FormData();formData.append('filePhoneNum', filePhoneNum);formData.append('messageContent', $('#message').val());$.ajax({url : $form.data('send-url'),type : 'post',dataType : 'json',data : formData,success : function(data){if(data.sended=="success"){alert("成功发送了: "+data.sendNum+" 个号码");}},error:function(){alert("发送失败");},contentType: false,processData: false});});});当然后端是直接把HttpServletRequest作为参数传到一下这个读取和切割工具中,从而读取数据内容。大家可以根据内容的列数进行返回值的变化,我这边只做了每行一列的处理
package com.yiyong.mavenspring.demo.util;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;import javax.servlet.http.HttpServletRequest;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.multipart.MultipartHttpServletRequest;import org.springframework.web.multipart.commons.CommonsMultipartResolver;import com.opencsv.CSVReader;public class UploadPhoneNumUtil {private static Logger log = LoggerFactory.getLogger(UploadPhoneNumUtil.class);public static String[] uploadPhoneNum(HttpServletRequest request){CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext()); //判断 request 是否有文件上传,即多部分请求 if(multipartResolver.isMultipart(request)){ //转换成多部分request MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request; //取得request中的所有文件名 MultipartFile phoneNumFile=multiRequest.getFile("filePhoneNum"); String fileName = phoneNumFile.getOriginalFilename(); String prefix = fileName.substring(fileName.lastIndexOf(".") + 1) .toLowerCase(); if ("xls".equals(prefix) || "xlsx".equals(prefix) || "csv".equals(prefix)) { try { // 使用第三方开源类库OpenCSV来读取CSV文件 @SuppressWarnings("resource") CSVReader reader = new CSVReader(new InputStreamReader( phoneNumFile.getInputStream())); // 去除第一行header信息 //String[] nextLine = reader.readNext(); List<String> phoneNumsList = new ArrayList<String>(); List<String[]> list = reader.readAll(); for(String[] temp:list){ phoneNumsList.add(temp[0]); }// while (nextLine != null) { // String tempNum = nextLine[0];// phoneNumsList.add(tempNum);// nextLine = reader.readNext(); // } String[] phoneNums = (String[]) phoneNumsList.toArray(new String[phoneNumsList.size()]); return phoneNums; }catch (IOException ex) { log.error("=========="+"读取短信文件出错"+"========="); return new String[]{"ReaderPhoneNumFileError"}; } }else if("txt".equals(prefix)){//当文件是txt格式的时候 InputStreamReader read =null; try { read = new InputStreamReader(phoneNumFile.getInputStream());BufferedReader bufferedReader = new BufferedReader(read);String phoneContent=""; String lineTXT = null; while ((lineTXT = bufferedReader.readLine()) != null) { phoneContent+=lineTXT.toString(); } String[] phoneNums=phoneContent.split("_"); read.close(); return phoneNums;} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} } return new String[]{"ForMatError"}; } return new String[]{"NoPhoneNumFonud"}; }}
读取CVS文件别忘记了要导入CSV的包,这边我用maven的方式给大家导包吧
<!-- 发送短信需要用上传csv文件行读取 --><dependency> <groupId>com.opencsv</groupId> <artifactId>opencsv</artifactId> <version>3.4</version> </dependency><!-- 发送短信需要用上传csv文件行读取 -->
2 0
- excel表格/txt数据读取工具
- 读取Excel表格数据
- 读取excel表格数据
- 读取Excel表格中的数据
- java读取Excel表格数据
- 读取Excel数据和写入txt文件以及读取配置文件工具类
- Matlab读取Excel、txt文件数据
- MATLAB读取Excel,Txt文件中的数据
- 工资读取excel表格发送工具
- 一键读取Txt、Excel等表格配置【源码+原理】
- 一键读取Txt、Excel等表格配置【源码+原理】
- Visual C#读取Excel表格中的数据
- Visual C#读取Excel表格中的数据
- Matlab如何读取Excel 表格数据
- QTP中读取Excel表格中的数据
- 使用java读取Excel表格中的数据 .
- C#读取Excel表格中的数据
- 使用java读取Excel表格中的数据
- spoj 375 树链剖分(裸模板)
- 小明养猪的故事
- ZOJ 3057 Beans Game题解
- 【bzoj4127】Abs 线段树+树链剖分
- Yalantis 那些动画效果很炫的 Android 及 iOS 开源项目
- excel表格/txt数据读取工具
- window.open关于浏览器拦截问题分析及解决方法
- callgrind 使用
- ANSI C Yacc grammar
- 安卓开发linux内核驱动
- android anr trace.txt文件 抓取
- 新增软件测试视频资料
- Github项目解析(三)-->Android内存泄露监测之leakcanary
- redis与Mysql数据库的同步