肥宅钓鱼网
当前位置: 首页 钓鱼百科

excel的powerquery使用(用电脑自带的PowerShell操作excel)

时间:2023-06-13 作者: 小编 阅读量: 4 栏目名: 钓鱼百科

操作excel自动化的方式很多今天我们看看如何用电脑自带的PowerShell来干这件事储备知识:工作簿工作表,要知道这俩是啥玩意注:#开头的是注释信息操作的时候可以不写一创建一个带有学生成绩的excel文件准备工作:打开电脑上的PowerShell软件所有指令都需要在此软件中运行1既然是操作excel首先需要一个excel的变量$excel=New-Object-ComObjectExcel.A

操作excel自动化的方式很多 今天我们看看如何用电脑自带的PowerShell来干这件事

储备知识:工作簿 工作表 ,要知道这俩是啥玩意

注:#开头的是注释信息 操作的时候可以不写

一 创建一个带有学生成绩的excel文件

准备工作:打开电脑上的PowerShell软件 所有指令都需要在此软件中运行

1 既然是操作excel 首先需要一个excel的变量

$excel = New-Object -ComObject Excel.Application #不显示excel对话框 没有这行的话 在保存的时候可能会弹出对话框$excel.DisplayAlerts =$false

2 此时的excel只是个空壳子 接下来我们需要创建一个工作簿

$workbook = $excel.Workbooks.Add()

3 此时已经有一个工作簿 接下来我们需要获取工作簿中的第一个工作表

$sheet1 = $workbook.Sheets.Item(1)

4 此时工作表只是空表格 我们写入在第一行写入表头(姓名 数学 语文 外语 总分)

Cells[1,1]:第一行第一列

$sheet1.Cells[1,1].Value2 = "姓名"$sheet1.Cells[1,2].Value2 = "数学"$sheet1.Cells[1,3].Value2 = "语文"$sheet1.Cells[1,4].Value2 = "外语"$sheet1.Cells[1,5].Value2 = "总分"

5 有了表头 接下来需要填充一些数据做演示

从第二行开始 一直到第十行

for($i = 2;$i -le 10;$i){#写入姓名列$sheet1.Cells[$i,1].Value2 = ("张三" $i).ToString()#写入数学列$sheet1.Cells[$i,2].Value2 = (80 $i).ToString()#写入语文列$sheet1.Cells[$i,3].Value2 = (81 $i).ToString()#写入外语列$sheet1.Cells[$i,4].Value2 = (82 $i).ToString()}

6 现在我们已经有了 2-10行 九条成绩数据 保存工作簿并退出

#保存工作簿到D盘下$workbook.SaveAs("D:\成绩.xlsx") #退出excel$excel.Quit() #清空excel变量$excel =$null #清理excel 没有这一步任务管理器可能还会有excel进程残留[GC]::Collect()

7 现在我们已经有了一个 成绩.xlsx 的文件 内容如下

二 接下来汇总总分

1 跟上面第一步一样 我们需要一个操作excel的变量

$excel = New-Object -ComObject Excel.Application #不显示excel对话框 $excel.DisplayAlerts =$false

2 读取上面创建的excel文件

$workbook = $excel.Workbooks.Open("D:\成绩.xlsx")

3 读取文件后 我们需要拿到刚才的工作表也就是第一个工作表

$sheet1 = $workbook.Sheets.Item(1)

4 拿到了工作表 接下里就是读取2-10行的各科成绩汇总总分

for($i = 2;$i -le 10;$i){#数学分数$cell2 =$sheet1.Cells[$i,2].Value2#语文分数$cell3 =$sheet1.Cells[$i,3].Value2#外语分数$cell4 =$sheet1.Cells[$i,4].Value2#总分在第五列 等于语数外三列的和$sheet1.Cells[$i,5].Value2 =($cell2 $cell3 $cell4).ToString()}

5 分数汇总后保存并退出

#因为是打开的现有工作簿 只需保存就行 不用再指定名字$workbook.Save() $excel.Quit()$excel =$null[GC]::Collect()

6 现在总分已经汇总完成 如下

三 上述PowerShell指令汇总

# 一 创建excel#创建$excel变量$excel = New-Object -ComObject Excel.Application#不弹出对话框$excel.DisplayAlerts =$false #新建工作簿$workbook = $excel.Workbooks.Add() #获取第一个表$sheet1 = $workbook.Sheets.Item(1) #表头:姓名 第一行第一列 $sheet1.Cells[1,1].Value2 = "姓名" #表头:数学 第一行第二列 $sheet1.Cells[1,2].Value2 = "数学" #表头:语文 第一行第三列 $sheet1.Cells[1,3].Value2 = "语文"#表头:外语 第一行第四列 $sheet1.Cells[1,4].Value2 = "外语"#表头:总分 第一行第五列 $sheet1.Cells[1,5].Value2 = "总分" #第二行到第十行 需要填充一些数据做演示for($i = 2;$i -le 10;$i){#写入姓名列$sheet1.Cells[$i,1].Value2 = ("张三" $i).ToString()#写入数学列$sheet1.Cells[$i,2].Value2 = (80 $i).ToString()#写入语文列$sheet1.Cells[$i,3].Value2 = (81 $i).ToString()#写入外语列$sheet1.Cells[$i,4].Value2 = (82 $i).ToString()}#保存到D:\成绩.xlsx$workbook.SaveAs("D:\成绩.xlsx")#退出$excel.Quit()$excel =$null[GC]::Collect()# 二 读取上面创建的excel#创建$excel变量$excel = New-Object -ComObject Excel.Application #不弹出对话框$excel.DisplayAlerts =$false #打开工作簿$workbook = $excel.Workbooks.Open("D:\成绩.xlsx") #获取第一个表$sheet1 = $workbook.Sheets.Item(1) #汇总2-10行的总分for($i = 2;$i -le 10;$i){#数学分数$cell2 =$sheet1.Cells[$i,2].Value2#语文分数$cell3 =$sheet1.Cells[$i,3].Value2#外语分数$cell4 =$sheet1.Cells[$i,4].Value2#总分在第五列 等于语数外三列的和$sheet1.Cells[$i,5].Value2 =($cell2 $cell3 $cell4).ToString()}#保存$workbook.Save()#退出$excel.Quit()$excel =$null[GC]::Collect()

    推荐阅读
  • 上海邮政编码是多少(上海邮政编码是什么)

    接下来我们就一起去了解一下吧!上海邮政编码是多少上海邮政编码是200000。上海,简称“沪”,是中华人民共和国省级行政区、直辖市、国家中心城市、超大城市,国务院批复确定的中国国际经济、金融、贸易、航运、科技创新中心。截至2018年,全市下辖16个区,总面积6340.5平方千米,2019年,常住人口2428.14万人,户籍常住人口1450.43万人,外来常住人口977.71万人。

  • 冬季农村散养鸡要注意些什么(冬天怎么散养鸡)

    光照能透过鸡的眼睛而刺激脑下垂体前叶分泌促卵激素,从而加快卵巢卵子的发育,有利于母鸡产蛋。每个星期要给鸡喂一次砂,每100只鸡喂500克。以保证鸡体内营养协调,使鸡多生蛋。

  • 柴进的故事情节概括(关于柴进的故事情节概括)

    后来,高唐州知府高廉的妻舅殷天锡倚仗权势,欲夺取柴进叔父柴皇城的花园,还殴打柴皇城。柴进自己被高廉拘捕,屈打成招后打入死牢。梁山排座次时,柴进名列第十位,星号天贵星,与李应一同担任“掌管钱粮头领”。方腊后又将女儿金芝公主嫁给柴进为妻,常召他商议军情重事。清溪之战时,柴进临阵倒戈,和燕青斩杀方杰,引宋军攻入帮源洞。

  • centuries怎么读(英语centuries怎么读)

    英语centuries怎么读centuries英[ˈsɛntʃʊriz]美[ˈsɛntʃəriz],n.100年;百年;世纪;(一个运动员所得的)100分;century的复数[例句]Onemomentsfalsesecurit。

  • 为什么膀胱炎会有尿频尿急尿痛(凌晨三点突发尿频尿急尿痛有多难)

    输液两天,患者症状明显好转,为巩固疗效。急性膀胱炎、尿路感染,夏季常见病、多发病,女性高发,临床常以三日疗法终结它。急性膀胱炎占尿路感染的60%以上。急性膀胱炎-尿路感染约30%的患者可出现血尿。但治疗不及时,反复感染,会造成逆行感染,诱发急性肾炎。如结果阴性表示急性细菌性膀胱炎已治愈;如仍有真性细菌尿,应继续给予2周抗生素治疗。

  • 清肺排毒喝什么好(你了解了吗)

    清肺排毒喝什么好白茶,白茶被称之为茶中的精品,具有一定的抗氧化功效,可以清除人体内的自由基,排除肺部的多余毒素,例如进入到肺部中的灰尘和雾霾。罗汉果茶,用罗汉果泡水喝具有润肠通便、清肺利咽的功效,可用来治疗咽喉炎症、咳嗽痰多、支气管炎、支气管哮喘或者是由于上火导致的口干舌燥等疾病。牛奶,牛奶不仅有清肺排毒的功效,还可以有效地降低人体肺癌的得病率。

  • 出生岛电音盛典怎么玩(游戏和平精英介绍)

    《和平精英》是腾讯光子工作室群研发的反恐军事竞赛体验手游,该作于2019年5月8日正式公测。《和平精英》采用虚幻4引擎研发,致力于从画面、地图、射击手感等多个层面,为玩家全方位打造出极具真实感的军事竞赛体验,2020年7月8日,《和平精英》成为第三届超新星运动会的比赛背景设定:未来,和平成为世界主流。目标是考察特种兵在恶劣条件下的搜集侦察与野外作战能力,并以此挑选出“和平精英”。

  • 求推荐末日生存类小说(四本超燃的末日生存类小说)

    主角一行人作为学校选出前往寻找救援,途中逐渐见识到真正的世界并得到进化的能力。地球全物种进入光速进化的时代,人类只是其中一员,为了生存,心灵与身体同时进化,和其它物种的生存竞争构成了本书的核心矛盾推动点。已完结,字数106万。量大管饱,绝对粮草,连载中,字数417万。他熟知历史,知龗道这一时期的变异生物等级最多不超过“1”。一个自称是的立方体,在二十年后再次来临,并全面入侵地球。

  • 过生日一般过农历还是阳历(过生日一般过农历吗)

    以下内容希望对你有帮助!过生日一般过农历还是阳历过生日一般生日都是以阴历为主,因为中国人的传统就是阴历算生日,如果按阴历和阳历各过两次生日也可以。阳历有平闰年的区别,如果按阳历计算生日,那么闰年2月29出生的人只能每四年过一次生日;再加上中国人会用属相,因此以阴历算生日最佳。

  • 6月6日起北京奥林匹克塔恢复开放公告(北京奥林匹克塔建成时间)

    6月6日起北京奥林匹克塔恢复开放尊敬的广大游客:北京奥林匹克塔将于2022年6月6日(星期一)起恢复对游客开放。根据北京市朝阳区疫情防控部署要求,塔内按照75%限流开放,严格落实扫码测温、查验72小时内核酸阴性证明制度。在此温馨提示,请您搜索并登陆微信“奥塔观光”小程序进行预约参观,咨询电话:010-84296866。疫情防控,人人有责,感谢您的理解与支持。