首页 > 编程语言 >java 上传读取 excel

java 上传读取 excel

时间:2022-09-02 15:37:20浏览次数:64  
标签:java 读取 poi excel stringCellValue file getCell row

	implementation group: 'org.apache.poi', name: 'poi', version: '5.2.2'
	implementation group: 'org.apache.poi', name: 'poi-ooxml', version: '5.2.2'


 // excel导入

 @CrossOrigin
 @PostMapping(value = "/batch_sms_send/parseExcel", produces = {"application/json;charset=UTF-8"})

 public void parseExcel(@RequestParam("file") MultipartFile file,HttpServletRequest request, HttpServletResponse response) {

	try {

                // @RequestParam("file") MultipartFile file 是用来接收前端传递过来的文件
                // 1.创建workbook对象,读取整个文档

		InputStream inputStream = file.getInputStream();

		POIFSFileSystem poifsFileSystem = new POIFSFileSystem(inputStream);

		HSSFWorkbook wb = new HSSFWorkbook(poifsFileSystem);

		// 2.读取页脚sheet

		HSSFSheet sheetAt = wb.getSheetAt(0);

		// 3.循环读取某一行

		for (Row row : sheetAt) {

		    //先将第二列手机号转换为string格式

        	    row.getCell(1).setCellType(Cell.CELL_TYPE_STRING);

        	    // 4.读取每一行的单元格

       		    String stringCellValue="";

        	    String stringCellValue2="";

        	    if(row.getCell(0)!=null && row.getCell(1)!=null){

            	        stringCellValue = row.getCell(0).getStringCellValue(); // 第一列数据

            	        stringCellValue2 = row.getCell(1).getStringCellValue();// 第二列

        		// 写多少个具体看大家上传的文件有多少列.....

        		// 测试是否读取到数据,及数据的正确性

        		System.out.println(stringCellValue);

       	 		System.out.println(stringCellValue2);
                     }
		}




	} catch (Exception e) {

		// TODO Auto-generated catch block

		e.printStackTrace();

	}

}

标签:java,读取,poi,excel,stringCellValue,file,getCell,row
From: https://www.cnblogs.com/hefeng2014/p/16650082.html

相关文章

  • java中List的详细用法
    目录:list中添加,获取,删除元素;list中是否包含某个元素;list中根据索引将元素数值改变(替换);list中查看(判断)元素的索引;根据元素索引位置进行的判断;利用list中索引位置重新生成......
  • Java try catch与throws区别
    原则:如果该功能内部可以将问题处理,用try,如果处理不了,交由调用者处理,这时用throws区别:当前程序需要继续运行就try当前程序不需要继续运行就throws举例:感冒了......
  • Java中具有继承的对象序列化
    在序列化中,当引入继承时,则根据超类和子类定义了某些情况,这使对每种情况下的序列化的理解变得更加简单。应遵循的基本规则如下。1.当超类实现时,可序列化接口而子类则不。......
  • C#读取RTSP流并切录制视频
    下载Nuget包:EMGU.CV(测试用版本:4.0.1.3373);publicvoidInitVideo()     {      VideoCapture_capture=newVideoCapture("rtsp://admin:1234......
  • java二维数组
    二维数组二维数组可以看成以数组为元素的数组。还可以有二维、三维、甚至更多维数组,但是实际开发中用的非常少。最多到二维数组(学习容器后,我们一般使用容器,二维数组用的......
  • Java基础
    Java基础注释//单行注释/*回车多行注释/**回车文档注释标识符和关键字数据类型publicclassDemo01{publicstaticvoidmain(String[]args){......
  • java Builder模式
    Builder 模式也叫建造者模式,builder模式的作用将一个复杂对象的构建与他的表示分离,一步一步创建一个复杂对象的创建型模式。在不知道内部建造细节的情况下,可以更精细的控......
  • 20个既简单又实用的JavaScript小技巧
    1.滚动到页面顶部我们可以使用window.scrollTo()平滑滚动到页面顶部。const scrollToTop = () => {  window.scrollTo({ top: 0, left: 0, behavior: "sm......
  • java开发技术栈
    技术栈名称说明备注TLog轻量级的分布式日志标记追踪神器 ignite以内存为中心的数据平台内存数组组织框架是一个高性能、集成和分布式的内存计算和事务平台......
  • Java接口自动化测试框架系列(三)LOG信息的处理
    既然是搭建自动化测试框架,肯定是希望框架的整体功能是全面的。如果在执行过程中出了问题,通过log进行查看是比较方便的,所以需要有一个log方法来记录日志。记录日志比较常......