windows powershell实现excel的一些操作的代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows powershell实现excel的一些操作的代码相关的知识,希望对你有一定的参考价值。
现在有一张excel的表格,有很多列,输入:某一个列的列名,输出:根据这个列的不同内容所分出的很多张excel表格。例子:表格内容是学生信息,有姓名、学院、性别,学号这四个信息,根据输入的学院,把原表格分成不同学院的几张表。想要用powershell来实现,怎么实现,求大神帮忙
参考技术A Excel自带的函数就解决吧 用不着Powershell追问是这样的,用excel当然能实现这个功能.但是如果针对比较大的几十MB的文件,用手去做比较麻烦,而且重复性的劳动,如果能写出一个脚本,每次双击一下鼠标就能解决会舒服很多.
参考技术B 表示有点困难。。 参考技术C 大量数据用函数确实不现实,VBA如何?一个快捷键调用宏就解决?有意请注明实际的表格格式及相关信息,我再写。追问恩对最近发现ps确实不太好搞就尝试用宏。但是代码不熟悉,我现在的思路是:用一个双层的循环,第二个循环是针对第三列的值进行判断。初始定义一个Zhh并赋值为range("C2"),初始化一个R1=2。循环开始,往下找到值不等于Zhh的range,结束本层循环。获得行数R2。然后进行Rows(“R1,R2”).select,并且R1=R2,进行下面的操作。操作完毕之后继续循环,直到判断range("CX")的值为空,结束。请帮我实现前面提到的过程。
追答'右击当前表标签,把下列代码贴到VBE窗口,按F5运行,会自动插入工作表,把C列不同的值分开。
Sub tt()
Dim r%, SttR%, stpR%, SttS$
[c2].CurrentRegion.Sort key1:=[c1], order1:=xlAscending, header:=xlYes
With ActiveSheet
SttR = 2: SttS = .[c2] '起始行2,起始筛选值c2
For r = 2 To .[c65536].End(3).Row
If .Cells(r + 1, 3).Value SttS Then
Worksheets.Add after:=Sheets(Worksheets.Count)
Sheets(Worksheets.Count).Name = SttS
Intersect(.UsedRange, .Rows(SttR & ":" & r)).Copy Worksheets(SttS).Range("a2")
SttR = r + 1
SttS = Cells(r + 1, 3).Value
End If
Next r
End With
End Sub
恩,这段代码我用了,确实可以,但是只能循环第一遍,在生成第二个sheet的时候报错了.另外,
Worksheets.Add after:=Sheets(Worksheets.Count)Sheets(Worksheets.Count).Name = SttS
Intersect(.UsedRange, .Rows(SttR & ":" & r)).Copy Worksheets(SttS).Range("a2")
这三句话的意思是不是:根据遍历出来的行数进行sheet的生成,把名字改为stts,并且插入数据?我想问一下,如果想在新生成的表上第一行插入原来表的第一行怎么做?
能走完第一遍循环,应该是程序没大问题。数据如何? 我写后测试无误,能正确分出三个表。
关于写入第一行标题,建议用一个数组写入,如
Worksheets(SttS).[a1:c1]=array("A","B","C")
走完一个循环是指分出来第一张表,在分第二张表的时候报错了,"运行错误1004"。如果要分得话,应该能分出可能有二十几张表,调试的时候我看stts的值是空的,怎么可能。难道stts=cells(r+1,3).value没有赋值成功么。sttr的值是正确的,是第一张表的最后一个+1,134。
追答样本邮件 chiefzjh@163.com, 速度
本回答被提问者采纳 参考技术D 在前记录一举一动:PowerShell几行代码实现定期屏幕截屏
目录
3、powershell为windows系统自带语言,可以无缝嵌入运行
4、所有抓拍的屏幕照片,按照时间排序,可以实现比较完整的用户操作监控。
监控电脑屏幕?
如何实现对电脑屏幕及其操作的监控?
对于屏幕的监控,一般都是针对windows操作系统
因为对于大部分Linux系统,都是无桌面状态,没有监控界面的必要。
提供一种监控靶机屏幕的解决方案及具体实现方法。
实现思路
1、通过windows脚本,一定时间间隔进行屏幕抓拍
2、脚本通过powershell语言实现
3、powershell为windows系统自带语言,可以无缝嵌入运行
4、所有抓拍的屏幕照片,按照时间排序,可以实现比较完整的用户操作监控。
实现效果如下gif:
PowerShell简介
如果是从知名度和用户的使用量来谈的话,PowerShell相较当下流行的一些面向对象的语言
来说应该是逊色太多太多了,但是,作为一款系统内置的脚本语言,和Linux里的Shell一样,
说其强大当然是不容置喙的。
WindowsPowerShell是一种命令行外壳程序和脚本环境,是运行在windows机器上实现系统
和应用程序管理自动化的命令行脚本环境,使命令行用户和脚本编写者可以利用.NET
Framework的强大功能。你可以把它看成是命令行提示符cmd.exe的扩充,不对,
应当是颠覆。powershell需要.NET环境的支持,同时支持.NET对象。
微软之所以将Powershell定位为Power,并不是夸大其词,因为它完全支持对象。
其可读性,易用性,可以位居当前所有shell之首。
如何使用PowerShell
1)Win键+R,输入cmd,然后cmd会话框里再输入powershell
2)Win键+R,输入powershell,即来到其会话框
3)或是直接找到Windows PowerShell程序双击或是管理员打开
监控屏幕脚本实现
1、执行截屏的函数
#Define helper function that generates and saves screenshot
Function Get-Screenshot
$ScreenBounds = [Windows.Forms.SystemInformation]::VirtualScreen
$ScreenshotObject = New-Object Drawing.Bitmap $ScreenBounds.Width, $ScreenBounds.Height
$DrawingGraphics = [Drawing.Graphics]::FromImage($ScreenshotObject)
$DrawingGraphics.CopyFromScreen( $ScreenBounds.Location, [Drawing.Point]::Empty, $ScreenBounds.Size)
$DrawingGraphics.Dispose()
$ScreenshotObject.Save($FilePath)
$ScreenshotObject.Dispose()
2、将截屏图片按时间命令并按路径存储
Try
#load required assembly
Add-Type -Assembly System.Windows.Forms
Do
#get the current time and build the filename from it
$Time = (Get-Date)
[String] $FileName = "$($Time.Month)"
$FileName += '-'
$FileName += "$($Time.Day)"
$FileName += '-'
$FileName += "$($Time.Year)"
$FileName += '-'
$FileName += "$($Time.Hour)"
$FileName += '-'
$FileName += "$($Time.Minute)"
$FileName += '-'
$FileName += "$($Time.Second)"
$FileName += '.png'
#use join-path to add path to filename
[String] $FilePath = (Join-Path $Path $FileName)
#run screenshot function
Get-Screenshot
Write-Verbose "Saved screenshot to $FilePath. Sleeping for $Interval seconds"
Start-Sleep -Seconds $Interval
#note that this will run once regardless if the specified time as passed
While ((Get-Date -Format HH:mm) -lt $EndTime)
3、脚本执行方法
#执行命令Get-TimedScreenshot
#path:指定存储路径
#Interval:截屏时间间隔,单位 秒
#EndTime:脚本停止时间,如果不设置,会一直执行
PS C:\\> Get-TimedScreenshot -Path C:\\监控截屏 -Interval 1 -EndTime 19:00
推荐阅读
【资源推荐】
-
渗透测试专用系统
- kali-linux-e17-2019.1a-amd64.iso系统镜像
- kali-linux-e17-2019.1a-amd64.iso系统镜像_kalilinux2019镜像-Linux文档类资源-CSDN下载
- kali-linux-2018.4-amd64 操作系统
- kali-linux-2018.4-amd64操作系统_-Linux文档类资源-CSDN下载
- manjaro-xfce-17.1.7-stable-x86_64.iso系统镜像
- manjaro-xfce-17.1.7-stable-x86_64.iso系统镜像_manjaro镜像下载-Linux文档类资源-CSDN下载
- WiFi专用渗透系统 nst-32-11992.x86_64.iso操作系统镜像
- nst-32-11992.x86_64.iso操作系统镜像.zip_-Linux文档类资源-CSDN下载
- Parrot-security-4.1_amd64.iso 操作系统镜像
- Parrot-security-4.1_amd64.iso操作系统镜像_Parrot-security-Linux文档类资源-CSDN下载
- manjaro-xfce-17.1.7-stable-x86_64 操作系统
- manjaro-xfce-17.1.7-stable-x86_64操作系统_-Linux文档类资源-CSDN下载
- cyborg-hawk-linux-v-1.1 操作系统
- cyborg-hawk-linux-v-1.1操作系统_cyborghwak安装教程-Linux文档类资源-CSDN下载
-
渗透测试相关工具
- 渗透测试实战专栏
- 【kali常用工具】抓包工具Charles Windows64位 免费版
- 抓包工具CharlesWindows64位免费版_charleswindows-网络监控文档类资源-CSDN下载
- 【kali常用工具】图印工具stamp.zip
- 图印工具stamp.zip_-制造文档类资源-CSDN下载
- 【kali常用工具】brutecrack工具[WIFIPR中文版]及wpa/wpa2字典
- brutecrack工具[WIFIPR中文版]及wpa/wpa2字典_wifipr-其它文档类资源-CSDN下载
- 【kali常用工具】EWSA 5.1.282-破包工具
- 【kali常用工具】EWSA5.1.282-破包工具_kali跑包工具,linux跑包软件-管理软件文档类资源-CSDN下载
- 【kali常用工具】Realtek 8812AU KALI网卡驱动及安装教程
- 【kali常用工具】Realtek8812AUKALI网卡驱动及安装教程_8812aukali,kalirtl8812au-网络设备文档类资源-CSDN下载
- 【kali常用工具】无线信号搜索工具_kali更新
- 【kali常用工具】无线信号搜索工具_kali更新_kali更新-互联网文档类资源-CSDN下载
- 【kali常用工具】inssider信号测试软件_kali常用工具
- 【kali常用工具】inssider信号测试软件_kali常用工具_kali常用工具介绍-网管软件文档类资源-CSDN下载
- 【kali常用工具】MAC地址修改工具 保护终端不暴露
- 【kali常用工具】MAC地址修改工具保护终端不暴露_kali修改mac,kalimac地址-Linux文档类资源-CSDN下载
- 【kali常用工具】脚本管理工具 php和jsp页面 接收命令参数 在服务器端执行
- 脚本管理工具php和jsp页面接收命令参数在服务器端执行_-网络安全文档类资源-CSDN下载
- Java实现照片GPS定位【完整脚本】
- ReadPicExif.zip_-Java文档类资源-CSDN下载
- Python实现照片GPS定位【完整脚本】
- python定位照片精确位置完整代码脚本_Python手机号定位-Python文档类资源-CSDN下载
- 女神忘记相册密码 python20行代码打开【完整脚本】
- 女神忘记相册密码python20行代码打开.py-Python文档类资源-CSDN下载
- python修改证件照底色、大小、背景、抠图【完整源码】
- python修改证件照底色、大小、背景、抠图【完整源码】_python如何修改证件照的大小-Python文档类资源-CSDN下载
python实战
- 【python实战】前女友婚礼,python破解婚礼现场的WIFI,把名称改成了
- 【python实战】前女友发来加密的 “520快乐.pdf“,我用python破解开之后,却发现
- 【python实战】昨晚,我用python帮隔壁小姐姐P证件照 自拍,然后发现...
- 【python实战】女友半夜加班发自拍 python男友用30行代码发现惊天秘密
- 【python实战】python你TM太皮了——区区30行代码就能记录键盘的一举一动
- 【python实战】女神相册密码忘记了,我只用Python写了20行代码~~~
【pygame开发实战开发30例 完整源码】
【pygame游戏开发专栏,获取完整源码+教程】
- 一起来学pygame吧 游戏开发30例(二)——塔防游戏
- 一起来学pygame吧 游戏开发30例(四)——俄罗斯方块小游戏
- 渗透测试实战专栏
- CSDN官方学习推荐 ↓ ↓ ↓
- CSDN出的Python全栈知识图谱,太强了,推荐给大家!
以上是关于windows powershell实现excel的一些操作的代码的主要内容,如果未能解决你的问题,请参考以下文章
powershell 在powershell中将Exchange 2007公用文件夹静态设置为excel和excel电子表格
Excel RefreshAll 使用 powershell 脚本和凭据