读取本地excel发短信
package com.cmcc.zysoft.sellmanager.controller; import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream; import javax.annotation.Resource; import jxl.CellType;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label; import com.cmcc.zysoft.sellmanager.service.SysLBSService;
import com.cmcc.zysoft.sellmanager.util.CMPPSenderUtil; /**
*
* 类说明:
*
* @创建时间 2014-3-17 下午1:52:55
* @创建人: cmzcheng
* @邮箱:cmzcheng@gmail.com
*/
public class ExcelOperate { @Resource
private SysLBSService sysLBSService; public static void main(String[] args) { jxl.Workbook readwb = null;
try { // 构建Workbook对象, 只读Workbook对象 // 直接从本地文件创建Workbook InputStream instream = new FileInputStream("D:/sms.xls"); readwb = Workbook.getWorkbook(instream); // Sheet的下标是从0开始 // 获取第一张Sheet表 Sheet readsheet = readwb.getSheet(0); // 获取Sheet表中所包含的总行数 int rsRows = readsheet.getRows(); // 获取指定单元格的对象引用 for (int i = 0; i < rsRows; i++) {
String mobile= readsheet.getCell(0, i).getContents();
String login_url = readsheet.getCell(1, i).getContents();
String serviceName = readsheet.getCell(2, i).getContents();
sendSms(mobile, login_url, serviceName);
System.out.println(serviceName + " ," + mobile + "," + login_url);
}
//利用已经创建的Excel工作薄,创建新的可写入的Excel工作薄 jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File( "d:/短信发送列表.xls"), readwb); //读取第一张工作表 jxl.write.WritableSheet ws = wwb.getSheet(0); //获得第一个单元格对象 jxl.write.WritableCell wc = ws.getWritableCell(0, 0); //判断单元格的类型, 做出相应的转化 if (wc.getType() == CellType.LABEL) { Label l = (Label) wc; l.setString("新姓名"); } //写入Excel对象 wwb.write(); wwb.close(); } catch (Exception e) { e.printStackTrace(); } finally { readwb.close(); } } @SuppressWarnings("static-access")
public static boolean sendSms(String phone, String login_url,
String serviceName) {
boolean ls = getPhoneName(phone.substring(0, 3));
CMPPSenderUtil cmp = new CMPPSenderUtil();
try {
if (ls) {// 如果是中国移动的号码
cmp.sendMsg(phone, getContent(phone, login_url, serviceName));
} else {// 表示的是移网
cmp.sendDifferenceNetMsg(phone,
getContent(phone, login_url, serviceName));
} return true;
} catch (Exception e) {
// TODO: handle exception
return false;
} } /**
*
* @param phone
* phone
* @return String
*/
public static String getContent(String phone, String loginURL,
String qiyeTtitle) {
return "您好!" + qiyeTtitle
+ "系统已于3月15日启用域名访问啦,您单位专有网址为+ loginURL+ " ,登录帐号和密码不变,请去试试吧";
} public static boolean getPhoneName(String phoneName) {
String strings = "134,135,136,137,138,139,150,151,152,157,158,159,187,188,182,147,183,184";
boolean flg = strings.contains(phoneName);
return flg;
} }
写的一个读取本地excel然后发短信的代码,记录下在此
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
读取本地excel发短信的更多相关文章
- 用Python调用华为云API接口发短信
[摘要] 用Python调用华为云API接口实现发短信,当然能给调用发短信接口前提条件是通过企业实名认证,而且有一个通过审核的短信签名,话不多说,showcode #!/usr/bin/python3 ...
- linux下利用GPRS模块发短信、打电话
一.开发环境 内核版本:linux-3.0 开发板:FL2440(nandflash:K9F1G08 128M) GPRS模块:SIM900 二.与发短信和拨号相关的 AT 指 ...
- [stm32] SIM808模块之发短信\GPS\TCP\HTTP研究
SIM8008是四频模块,全球可用.含有TTL电平接口等接口,能够实现发短信.打电话.GPRS传输数据.GPS等功能.[正版资料请找beautifulzzzz·博客园] 一些细节: >> ...
- 单线程与多线程的简单示例(以Windows服务发短信为示例)
单线程示例: public delegate void SM(); SM sm = new SM(() => { while (true) ...
- Android——SMS接收发短信与运行权限
好久没写了,最近学习Android的相关知识,包括UI组件与布局.Activity生命周期等,而这次要讲的是,Broadcast Receiver的相关知识,主要是接收发短信,SmsManager.S ...
- C# 聚合数据借口发短信的使用
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- iOS开发之调用系统打电话发短信接口以及程序内发短信
在本篇博客开头呢,先说一下写本篇的博客的原因吧.目前在做一个小项目,要用到在本应用程序内发验证码给其他用户,怎么在应用内发送短信的具体细节想不大起来了,于是就百度了一下,发现也有关于这方面的博客,点进 ...
- 打电话,发短信,发邮件,app跳转
1.打电话 - (IBAction)callPhone1:(id)sender { NSURL *url = [NSURL URLWithString:@"tel://18500441739 ...
- iOS中如何切换到发短信、打电话、发邮件
我们在做APP的时候,难免会遇到需要调用短信,电话等程序的时候.如美团. 当然,这些都只是一些简单的方法就可以实现,但是时间久了也会淡忘,所以想写这边博客.一是为了再捡起来复习一下,另一个相当于留个备 ...
随机推荐
- MongoDB学习笔记-创建、更新、删除文档
创建 MongoDB中使用insert方法来向集合插入文档,然后保存到MongoDB中. db.foo.insert({"hehe":"呵呵"} ...
- 分享一下 aix安装python提示C编译器问题的办法
今天在AIX上面安装Python-2.7.2时失败,报下面的错误 checking for --enable-universalsdk... no checking for --with-univer ...
- UISlider swift
// // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fa ...
- LinuxC 文件与目录 打印文件操作错误信息
打印文件操作错误信息 在进行文件操作是,会遇到权限不足.找不到文件等错误,可以在程序中设置错误捕捉语句并显示错误.错误捕捉和错误输出使用用错误号和streero实现. 函数原型 : char *str ...
- 网络笔记02数据解析 -1-JSON解析
1.JSON解析 1.JSON介绍 JSON是最网络传输数据最为广泛的数据格式,没有之一,出身草根,是Javascript的子集,专门负责描述数据格式.Javascript是网页开发的一种脚本语言,和 ...
- C++类中的this指针的作用
1.我们知道C++的类成员函数中,默认都隐含了一个this指针,标识调用该成员函数的对象 2.为什么需要有一个this指针呢?C++设计这个机制的初衷是什么呢? 我们知道,普通的C++类,其成员函数是 ...
- 软件工程课后作业——用JAVA编写的随机产生30道四则运算
package com.java.sizeyunsuan; public class lianxi { String f() { int i=(int)(Math.random()*10); int ...
- /lib64/libc.so.6: version `GLIBC_2.14' not found问题
<备忘> 参考文章: https://my.oschina.net/zhangxu0512/blog/262275 问题答疑: http://blog.sina.com.cn/s/blog ...
- 二分--1043 - Triangle Partitioning
1043 - Triangle Partitioning PDF (English) Statistics Forum Time Limit: 0.5 second(s) Memory Limit: ...
- 事务并发处理: DB+ORM+逻辑代码
在学习了马士兵有关事务并发处理的视频后, 感觉对事务并发处理的概念,问题以及解决方式有了一定的了解,赶紧记录下来以备后用. 1. 事务:一系列操作要么都完成,要么一个都不完成 2. 事务并发:多个事务 ...