2021-06-08

Excle文件获取

所需架包:org.apache.poi:poi-ooxml:5.0.0


核心部分:

//文件数据处理
		val uploadPath = File.separator + UPLOAD_DIRECTORY
		val filename = uploadPath + data.getString("fileName")
		//创建输入流
		val fis = FileInputStream(File(filename));
		//由输入流得到工作簿
		val workbook = XSSFWorkbook(fis);
		//得到工作表
		val sheet = workbook.getSheet("sheet1");
		//得到最大行数,下标
		val lastRowNum = sheet.getLastRowNum()
		log.debug("最大行数:$lastRowNum")
		data[ID] = context.user!!.id

		for (i in 0..lastRowNum) {
			log.debug("循环:$i")
			val row = sheet.getRow(i)
			//得到最大列数,为实际列数,需要减一
			val lastCellNum = row.getLastCellNum()
			var smsContent = data.getString("smsContent")
			item["phone_package"] = ""
			for (j in 0 until lastCellNum) {
				log.debug("执行列:$j")
				val cell = row.getCell(j)
				//将得到的数据类型改为所需要的String,数据类型不符会报错
				cell.cellType = CellType.STRING
				val cellValue = cell.stringCellValue ?: ""

				smsContent = smsContent.replace("[(${(j + 65).toChar()})]", cellValue)
				log.debug("处理了变量:{[(${(j + 65).toChar()})]},替换位:$cellValue")

				if ((j + 65).toChar().toString() == data.getString("isPhone")) {
					if (phone(cellValue)) item["phone_package"] = transition(cellValue)
				}
				log.debug("发送的号码:${item["phone_package"]}")
			}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值