Excel判断一个单元格内内容是否在另一列中存在(出现过)

2017-12-9 寒川 计算机

如何使用Excel判断一个单元格内内容是否在另一列中存在(出现过)?

使用countif函数可以实现此功能,如:判断A1中的内容是否在B列中出现过,用法如下:

=countif(B:B,A1)
返回0则表示不存在,返回大于0的数则表时A1中的内容在B列出现过。


标签: office excel

评论(0) 浏览(44)

excel文件没多少内容文件却很大怎么办?如何快速删除excel表中隐藏对象?

2017-7-18 寒川 计算机

    经常会遇到这样的情况,我的excel表明明就一点点数据,但excel文件却非常大,达几百KB更有胜者能达上MB,一打开这样的excel文件,excel非常卡,往往影响正常操作,极度影响心情与体验。那么,是什么原因造成这种现像呢?。产生这种情况的原因,多半是因为在编辑Excel的过程中,很多人喜欢用全选--复制--粘贴的方法,导致原来表中隐藏的对象,被复制,越来越多。对象数量成集合增长,最后导致Excel文件超大,操作时很卡。

    excel文件没多少内容文件却很大怎么办?如何快速删除excel表中隐藏对?方法有两种,分别如下:

    1、对于隐藏的对象不是太多时感觉此种方法感觉还是挻快的。具体超作如下:F5或Ctrl+G,打开定位对话框,如下:

QQ截图20170718102306.jpg

点击“定位条件(S)...”,再选择“对象”->“确定”,如下图:

QQ截图20170718102306.jpg

确定后就能找到一些隐藏的对象了,然后按del键删除即可。

2、方法二,使用VB代码,方法如下:

开发工具,查看源代码,没有此功能?自己百度去啊。

QQ截图20170718102306.jpg

在空白框中输入如下代码:


'自动删除所有工作表的对象(图片,批注不做处理)
Sub test()
Dim count
Dim pic '图片13
Dim button '按钮8
Dim txtbox '文本框17
Dim comm '批注4
Dim other '其他未知
Dim msg '提示消息
Dim delpic
count = 0
pic = 0
button = 0
txtbox = 0
comm = 0
other = 0
respons = MsgBox("是否要清理表格中的图片,请谨慎操作!" & Chr(10) & _
"点击'是'清理图片,点击'否'跳过!", vbYesNo, "警告")
If respons = vbYes Then
delpic = True
Else
delpic = False
End If
For i = 1 To Sheets.count
For Each tb In Sheets(i).Shapes
If tb.Type = 13 Then
pic = pic + 1
If delpic Then
tb.Delete
End If
ElseIf tb.Type = 8 Then
button = button + 1
tb.Delete
ElseIf tb.Type = 17 Then
txtbox = txtbox + 1
tb.Delete
ElseIf tb.Type = 4 Then
comm = comm + 1
Else
other = other + 1
3
tb.Delete
End If
Next
'For Each tb In ActiveSheet.Shapes
'tb.Delete
'Next
Next
If delpic Then
count = button + txtbox + pic + other
Else
count = button + txtbox + other
End If
If count > 0 Or comm > 0 Or pic > 0 Then
msg = "共删除了" & count & "个对象;"
If button > 0 Then
msg = msg & Chr(10) & "按钮" & count & "个;"
ElseIf txtbox > 0 Then
msg = msg & Chr(10) & "文本框" & txtbox & "个;"
ElseIf pic > 0 And delpic Then
msg = msg & Chr(10) & "图片" & pic & "个;"
ElseIf other > 0 Then
msg = msg & Chr(10) & "未知对象" & other & "个;"
End If
If comm > 0 Then
msg = msg & Chr(10) & "有" & comm & "个批注没有处理;"
End If
If pic > 0 And Not delpic Then
msg = msg & Chr(10) & "有" & pic & "个图片没有处理;"
End If
Else
msg = "没有找到可以清理的对象!"
End If
MsgBox msg
End Sub
点击图中绿色的小箭头,根据弹出的对话框选择操作。编写的代码中,我对图片和批注进行了识别,以免删除有用的内容,懂VBA的,可以自己
修改,增加需要的内容。

等待片刻,弹出提示框,对象就删除了

标签: 计算机 office 学习 excel

评论(1) 浏览(1215)

mysql按指定顺序排序

2017-5-28 寒川 网页编程

直接上语句:

select * from tablename where id in(1,5,9,2,4) order by  find_in_set(id,'1,5,9,2,4');
select * from tablename where id in(1,5,9,2,4) order by substring_index('1,5,9,2,4',id,1);
select * from a tablename a in(1,5,9,2,4) order by field(id,1,5,9,2,4)

标签: mysql order 排序

评论(0) 浏览(1582)

linux centos防止暴力破解,封掉多次失败的IP地址

2017-5-13 寒川 计算机

一次偶然机会看到服务器的日志secure文件(路径:/var/log/secure)非常大,有上百MB了,打开发现有大量的用户尝试使用ssh登录服务器,看来是有人想暴力破解了,幸好服务器密码还足够强健,不然估计被沦陷了。如何事防止服务器暴力破解呢?网站找到了现成的方法,记录下来,或许以后还会用到。

思路是查找/var/log/secure中验证失败且出现的次数较多的ip,对其进行封IP处理。具体方法如下:

vi /usr/local/bin/secure.sh
#输入以下脚本
#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.list
for i in `cat  /usr/local/bin/black.list`
do
  IP=`echo $i |awk -F= '{print $1}'`
  NUM=`echo $i|awk -F= '{print $2}'`
  if [ ${#NUM} -gt 1 ]; then
    grep $IP /etc/hosts.deny > /dev/null
    if [ $? -gt 0 ];then
      echo "sshd:$IP:deny" >> /etc/hosts.deny
    fi
  fi
done
然后将secure_ssh.sh加入到cron计划任务中即可。


vi /var/spool/cron/root
#增加以下命令,一分钟执行一次
*/1 * * * *  sh /usr/local/bin/secure.sh


标签: 脚本 计算机 linux CentOS ssh 暴力破解

评论(3) 浏览(1945)

windows如何像linux使用ln一样创建目录链接

2017-5-2 寒川 计算机

之前的博客《linux创建目录链接》一文中提到linux系统如何使用ln创建目录链接,那么windows系统呢?今天突发奇想,windows如何像linux一样创建目录链接?百度了一下,我屮,还真有这样的需求,也有相应的解决方案,记录下来,或许某天就用上了呢?

下载附件,解压到想要的位置(我一般喜欢放到:C:\Windows\System32,这样就能在cmd中随便什么地方调用该程序)。创建文件连接命令如下:


#源文夹 目标文夹
junction D:\www\demo1.com\uploads "D:\wwwroot\demo2.com\uploads"


这样一执行,就会在D:\wwwroot\demo2.com\下创建一个D:\www\demo1.com\uploads目录链接,D:\www\demo1.com\uploads文件夹中文件更新,D:\wwwroot\demo2.com\uploads下的也就更新了,是不是很神奇?这对于建网站来说非常有用哦~~


2017年7月19日增补:

对于不部分系统junction工具无法使用的,其实windows还有个微软开发的工具可以使用,那就是linkd工具,其下载地址:
http://download.microsoft.com/download/8/e/c/8ec3a7d8-05b4-440a-a71e-ca3ee25fe057/rktools.exe

使用方式如下:


linkd 目标文件夹 源文件夹
删除目录链接:



linkd 目标文件夹


附件:

Junction.zip

标签: linux windows ln

评论(0) 浏览(1804)

如何让linux支持rar压缩文件格式压缩和解压

2017-5-2 寒川 计算机

众所周知,linux默认情况下是不支持rar压缩文件压缩和解压的,那要怎么才能上linux支持rar压缩文件格式压缩和解压呢?有相应的软件。

先到http://www.rarlab.com/download.htm下载对应版本的软件到linux,我本地虚拟机测试时用的以下命令:


#下载软件
wget http://www.rarlab.com/rar/rarlinux-x64-5.5.b1.tar.gz
#解压软件
tar -xvf rarlinux-x64-5.5.b1.tar.gz cd rar
#进入软件目录
cd rar
#编译安装较件
make
#完成安装
软件使用命令如下:



#将test.rar压缩文件解压到当前目录,aa文件中原包含的目录全没有。
rar e test.rar
#将demo.rar压缩文件解压到aa目录下,并保持原来压缩之前aa文件的目录组织结构。
rar x demo.rar 

Good luck!

标签: 计算机 linux 压缩 解压 rar

评论(0) 浏览(1789)

如何创建一个自签名的SSL证书【转】

2017-5-1 寒川 计算机

引言
使用HTTP(超文本传输)协议访问互联网上的数据是没有经过加密的。也就是说,任何人都可以通过适当的工具拦截或者监听到在网络上传输的数据流。但是有时候,我们需要在网络上传输一些安全性或者私秘性的数据,譬如:包含信用卡及商品信息的电子订单。这个时候,如果仍然使用HTTP协议,势必会面临非常大的风险!相信没有人能接受自己的信用卡号在互联网上裸奔。
HTTPS(超文本传输安全)协议无疑可以有效的解决这一问题。所谓HTTPS,其实就是HTTP和SSL/TLS的组合,用以提供加密通讯及对网络服务器的身份鉴定。HTTPS的主要思想是在不安全的网络上创建一安全信道,防止黑客的窃听和攻击。
SSL(安全套接层)可以用来对Web服务器和客户端之间的数据流进行加密。
SSL利用非对称密码技术进行数据加密。加密过程中使用到两个秘钥:一个公钥和一个与之对应的私钥。使用公钥加密的数据,只能用与之对应的私钥解密;而使用私钥加密的数据,也只能用与之对应的公钥解密。因此,如果在网络上传输的消息或数据流是被服务器的私钥加密的,则只能使用与其对应的公钥解密,从而可以保证客户端与与服务器之间的数据安全。
数字证书(Certificate)
在HTTPS的传输过程中,有一个非常关键的角色——数字证书,那什么是数字证书?又有什么作用呢?
所谓数字证书,是一种用于电脑的身份识别机制。由数字证书颁发机构(CA)对使用私钥创建的签名请求文件做的签名(盖章),表示CA结构对证书持有者的认可。数字证书拥有以下几个优点:
使用数字证书能够提高用户的可信度
数字证书中的公钥,能够与服务端的私钥配对使用,实现数据传输过程中的加密和解密
在证认使用者身份期间,使用者的敏感个人数据并不会被传输至证书持有者的网络系统上
X.509证书包含三个文件:key,csr,crt。
key是服务器上的私钥文件,用于对发送给客户端数据的加密,以及对从客户端接收到数据的解密
csr是证书签名请求文件,用于提交给证书颁发机构(CA)对证书签名
crt是由证书颁发机构(CA)签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有人的公钥,以及签署者的签名等信息
备注:在密码学中,X.509是一个标准,规范了公开秘钥认证、证书吊销列表、授权凭证、凭证路径验证算法等。
创建自签名证书的步骤
注意:以下步骤仅用于配置内部使用或测试需要的SSL证书。
第1步:生成私钥
使用openssl工具生成一个RSA私钥
openssl genrsa -des3 -out server.key 2048
说明:生成rsa私钥,des3算法,2048位强度,server.key是秘钥文件名。
注意:生成私钥,需要提供一个至少4位的密码。
第2步:生成CSR(证书签名请求)
生成私钥之后,便可以创建csr文件了。
此时可以有两种选择。理想情况下,可以将证书发送给证书颁发机构(CA),CA验证过请求者的身份之后,会出具签名证书(很贵)。另外,如果只是内部或者测试需求,也可以使用OpenSSL实现自签名,具体操作如下:
openssl req -new -key server.key -out server.csr

说明:需要依次输入国家,地区,城市,组织,组织单位,Common Name和Email。其中Common Name,可以写自己的名字或者域名,如果要支持https,Common Name应该与域名保持一致,否则会引起浏览器警告。
 
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Beijing
Locality Name (eg, city) []:Beijing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:joyios
Organizational Unit Name (eg, section) []:info technology
Common Name (e.g. server FQDN or YOUR name) []:demo.joyios.com
Email Address []:liufan@joyios.com
 
第3步:删除私钥中的密码
在第1步创建私钥的过程中,由于必须要指定一个密码。而这个密码会带来一个副作用,那就是在每次Apache启动Web服务器时,都会要求输入密码,这显然非常不方便。要删除私钥中的密码,操作如下:
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
 
第4步:生成自签名证书
如果你不想花钱让CA签名,或者只是测试SSL的具体实现。那么,现在便可以着手生成一个自签名的证书了。
需要注意的是,在使用自签名的临时证书时,浏览器会提示证书的颁发机构是未知的。
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
说明:crt上有证书持有人的信息,持有人的公钥,以及签署者的签名等信息。当用户安装了证书之后,便意味着信任了这份证书,同时拥有了其中的公钥。证书上会说明用途,例如服务器认证,客户端认证,或者签署其他证书。当系统收到一份新的证书的时候,证书会说明,是由谁签署的。如果这个签署者确实可以签署其他证书,并且收到证书上的签名和签署者的公钥可以对上的时候,系统就自动信任新的证书。
第5步:安装私钥和证书
将私钥和证书文件复制到Apache的配置目录下即可,在Mac 10.10系统中,复制到服务器对应目录中即可。

标签: 计算机 linux web apache ssl https

评论(0) 浏览(1590)

Powered by emlog 蜀ICP备12030225号

川公网安备 51042102000001号

sitemap