winform右击导入手机号码

private void 导入手机号ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog Openfile = new OpenFileDialog())
            {
                Openfile.Filter = "文本文件|*.txt";
                Openfile.Multiselect = false;
                if (Openfile.ShowDialog() == DialogResult.OK)
                {
                    Thread threadfile = new Thread(() => ReadFile(Openfile.FileName));
                    threadfile.IsBackground = true;
                    threadfile.Start();
                }
            }
        }

        private void ReadFile(string filename)
        {
            txtlog.Invoke(new Action(() =>
            {
                txtlog.AppendText("开始读取手机号码".SetLog());
            }));
            var file = File.Open(filename, FileMode.Open);
            int num = 0;
            int goods = 0;
            int repeat = 0;
            using (var stream = new StreamReader(file))
            {
                while (!stream.EndOfStream)
                {
                    lock (lock_send)
                    {
                        if (sendlist.Count > 99)
                        {
                            break;
                        }
                    }
                    num++;
                    string linetemp = stream.ReadLine().Trim();
                    if (IsTel(linetemp))
                    {
                        lock (lock_send)
                        {
                            var data = sendlist.Where(m => m.Tel == linetemp).FirstOrDefault();
                            if (data != null)
                            {
                                repeat++;
                                continue;
                            }
                        }
                        goods++;
                        SendTel _send = new SendTel();
                        _send.Tel = linetemp;
                        _send.sms_status = status.待发送;
                        _send.send_time = null;
                        ListViewItem item = new ListViewItem(_send.Tel);
                        item.SubItems.Add(_send.sms_status.ToString());
                        item.SubItems.Add(_send.send_time);
                        item.SubItems.Add("");
                        listSend.Invoke(new Action(() =>
                        {
                            ListViewItem backitem = listSend.Items.Add(item);
                            dic.Add(_send.Tel, backitem);
                        }));
                        lock (lock_send)
                        {
                            sendlist.Add(_send);
                        }
                    }
                }
            }
            txtlog.Invoke(new Action(() =>
            {
                string log = string.Format("添加完成!有效数据为:{0},过滤重复数据:{1},总数据:{2}", goods.ToString(), repeat.ToString(), num.ToString());
                txtlog.AppendText(log.SetLog());
            }));

        }
        /// <summary>
        /// 验证手机号是否合法
        /// </summary>
        /// <param name="tel"></param>
        /// <returns></returns>
        public static bool IsTel(string tel)
        {
            try
            {
                if (string.IsNullOrEmpty(tel) || tel.Length != 11)
                {
                    return false;
                }
                return System.Text.RegularExpressions.Regex.IsMatch(tel, @"^[1]+[3,4,5,6,7,8]+\d{9}");
            }
            catch (Exception ex)
            {
                return false;
            }
        }

很久以前写的代码了,读取txt文件,一行一个手机号码,

好像要求txt文本文件必须是utf8格式,否则读取出来会乱码。

时间: 2024-11-03 10:32:39

winform右击导入手机号码的相关文章

C# winform 导出导入Excel/Doc 完整实例教程[网上看到的]

还真没做过winform的导出导入,今天上网百度了一下.结果--- 所以还是我自己写个吧.之前做过web的,半搬半做就OK. 1添加引用:Aspose.Cells.dll(我们就叫工具包吧,可以从网上下载.关于它的操作我在“Aspose.Cells操作说明 中文版 下载 Aspose C# 导出Excel 实例”一文中的说.这里你暂时也可不理会它.) Aspose.Cells.dll  和中文说明 下载地址: http://item.taobao.com/auction/item_detail-

C# WinForm 导出导入Excel/Doc [使用Aspose.Cells.dll]

参考地址:http://blog.csdn.net/az44yao/article/details/7656074 private void DatatableToExcel(DataTable dgv, string Title) { SaveFileDialog dlg = new SaveFileDialog(); dlg.Filter = "Execl files (*.xls)|*.xls"; dlg.CheckFileExists = false; dlg.CheckPat

winform 实现定位

如何在winform中 导入地图实现定位功能    ? 从网上下个BaiDuMap.htm, 就是个js文件 在form中加入webBrowser控件,然后在窗体的加载事件中写入如下代码 webBrowserMap.Url = new Uri(Path.Combine(Application.StartupPath, "BaiDuMap.htm")); 接着运行,form中对应webBrowser控件可显示js文件的内容 ,即百度地图. 在js 文件中 有这样一段代码 function

关于excel导入手机号提取时被自动加上多余空万国码的问题

//去除excel粘贴自动加上的空万国码“\U202d” "U202c" //去除excel粘贴自动加上的空万国码“\U202d” "U202c" String mobiletemp=messageSendUser.getMobile(); String mobiletemp2=""; if(mobiletemp!=null && !"".equals(mobiletemp)){ for (int i=0;i&

如何批量查询号码归属地,可以导入表格xlsx、txt直接查询

我发现这个程序写的还不错,批量批量查询号码归属地.公司做业务的时候需要. 程序可以从输入框导入手机号码,进行批量查询号码的归属地信息,详细信息有:省份.城市.运营商. 直接导入电子表格Excel文件查询,也可以导入txt.csv等文件. 程序在这里: 批量查询号码的归属地信息 省份.城市.运营商 程序界面: 查询速度很快,几乎是5秒内能5万数据. 说是一次能查几十万,程序做的挺好 查询结果是这样的 导出的Excel文件,根据不同的列,在表格也能非常方便筛选,可以按省份筛选.按城市筛选.按号码运营

SqlBulkCopy的使用

1.问题:导入大数据量到数据库,用我们普通的SqlHelper来做是每插入一条都是打开连接关闭连接,这样太慢,因此我们会想到让SqlConnection一直打开直到所有数据都插入完成再关闭连接.但是根据数据库连接池,这样速度依然很慢. 2.解决办法: .Net给我们提供了SqlBulkCopy来一次性执行插入,效率和速度要高很多 3.实例: 如:导入手机号码归属地信息 准备材料:"手机号段归属地数据库.txt"文档. 如在Winform中添加按钮,按钮的点击事件中实现. #code p

Java SWT 做计算器。

java  --  swt  - -  计算器 环境搭建 安装java.eclipse.以及对应的swt插件. 开始工程 建立工程: 在java下建立一个在其他 —- WindowsBuilder —- SWTdesigner —- SWT/JFrame Java Project.建立好以后运行将得到一个swt窗口. 设计界面 : 点击代码下的Design选项卡 —- 拖动一个布局到窗口里 —- 然后自定义界面 如果没有发现Design选项卡的话在代码编辑窗口内右击 选择打开方式为: Windo

cocos2d-x_ Windows下Android环境搭建

在Windows环境下编译cocos2d-x-3.0 Android-NDK编译:cocos2d-x(二) Mac 下搭建:http://www.cocoachina.com/bbs/read.php?tid=199238 1. 安装配置开发环境 安装JDK  jdk-8u5-windows-i586 安装ant  apache-ant-1.9.4-bin.zip 安装SDK  adt-bundle-windows-x86-20140321 安装NDK  android-ndk-r9d-wind

cocos2dx3.1 win7安装步骤及编译到安桌

1. 下载及安装好工具 python2.7  ndk sdk ant cocos2dx3.1 eclipse 这些工具和曾经一样下载好放到同一文件夹下 加入环境变量 将python2.7的安装路径加入到环境变量path里面 ANDROID_SDK_ROOT =  D:\自己的某个文件夹下\android-sdk-eclipse\sdk ANT_ROOT = D:\自己的某个文件夹下\apache-ant-1.9.3\bin NDK_ROOT = D:\自己的某个文件夹下\android-ndk-