$xl = New-Object -ComObject "Excel.Application"
$cmdbwb = $xl.Workbooks.Open("F:\Ivan\HZCMDB.xlsx")
$cmdbws = $cmdbwb.Worksheets.Item("02--Laptop")
$row = Read-Host -Prompt "请输入Excel最左侧的行标"
$details = [pscustomobject][ordered]@{
EmployeeNo = $cmdbws.range("A$row").text
EmployeeName = $cmdbws.range("B$row").text
SeatNo = $cmdbws.range("C$row").text
Project = $cmdbws.range("D$row").text
Model = $cmdbws.range("E$row").text
ServiceTag = $cmdbws.range("F$row").text
FinanceNo = $cmdbws.range("G$row").text
RAM = $cmdbws.range("H$row").text
Hostname = $cmdbws.range("I$row").text
}
$letterwb = $xl.Workbooks.Open("F:\Laptop Issue letter\template.xlsx")
$letterws = $letterwb.Worksheets.Item("sheet1")
$letterws.Range("B1").Value2 = (Get-Date -Format yyyy-M-dd) #日期
$letterws.Range("B2").value2 = $details.EmployeeName #姓名
$letterws.Range("D9").value2 = $details.Model.Split(" ")[0] #型号
$letterws.Range("F9").value2 = $details.ServiceTag #序列号
$letterws.Range("H9").value2 = $details.FinanceNo #资产编号
$letterwb.SaveAs("F:\Laptop Issue letter\Laptop Issue_" + $details.EmployeeName + " (" + (Get-Date -Format yyyy-M-dd) + ").xlsx")
$xl.Quit()
$letterws = $null
$letterwb = $null
$cmdbws = $null
$cmdbwb = $null
$xl = $null
[GC]::Collect()
#[System.Runtime.InteropServices.Marshal]::ReleaseComObject($xl)
#Remove-Variable xl
$mail = New-Item -Path 'F:\Laptop Issue letter\mail.txt' -ItemType file -Force
$firstline = 'Dear ' + $details.EmployeeName + ','
$secondline = 'You are hereby being issued a Laptop having the Service tag ' + $details.ServiceTag + ' and Finance asset no ' + $details.FinanceNo + ' for official purpose.'
$thirdline = 'Pls print following attachment 3 copies and sign then submit to IS and Admin for tracking, one copy is kept by yourself. Admin will inform security guard to allow you take the laptop in and out office.'
Add-Content -Path $mail -Value $firstline
[Environment]::NewLine | Out-File $mail -Encoding ascii -Append
Add-Content -Path $mail -Value $secondline
[Environment]::NewLine | Out-File $mail -Encoding ascii -Append
Add-Content -Path $mail -Value $thirdline
[Environment]::NewLine | Out-File $mail -Encoding ascii -Append
Add-Content -Path $mail -Value 'yours,'

Laptop Issue Letter (读取Excel中指定内容,然后生成新的Excel文件)的更多相关文章

  1. POI3.10读取Excel模板填充数据后生成新的Excel文件

    private final DecimalFormat df = new DecimalFormat("#0.00"); public void test(){ String fi ...

  2. VBA读取word中的内容到Excel中

    原文:VBA读取word中的内容到Excel中 Public Sub Duqu()      Dim myFile As String     Dim docApp As Word.Applicati ...

  3. 从SQL查询分析器中读取EXCEL中的内容

    很早以前就用sql查询分析器来操作过EXCEL文件了. 由于对于excel公式并不是很了解,所以很多时候处理excel中的内容,常常是用sql语句来处理的.[什么样的人有什么样的办法吧 :)] 今又要 ...

  4. 读取InputStream 中的内容

      读取InputStream 中的内容 ]) { , len); //把读取到的内容写到输出流中 } //<4> 把字节数组转换为字符串 String content = baos.to ...

  5. C#对Excel中指定一列或一行实现隐藏或显示!

    C#对Excel中指定一列或一行实现隐藏或显示!不会,求指导!

  6. Java中读取配置文件中的内容,并将其赋值给静态变量的方法

    应用场景 项目开发中某个功能需要抽取成方法写成一个工具类,提供给别人使用.写过工具类的人都知道,工具类中的方法一般都是静态方法,可以直接使用类名点方法名调用, 使用很方便,比如判断某个对象是否为空的方 ...

  7. 使用python内置模块os和openpyxl搜索指定文件夹下Excel中的内容

    在指定路径下,搜索Excel文件中包含的指定内容,首先需要遍历指定路径,得到该路径下所有Excel文件的绝对/相对路径:然后读取Excel中内容,将文件中的每个单元格的值与要搜索的内容进行判断(正则比 ...

  8. 将页面中指定表格的数据导入到Excel中

    function AutoExcel(){   var oXL = new ActiveXObject("Excel.Application"); //创建应该对象   var o ...

  9. C#(ASP.NET)隐藏或显示Excel中指定列

    今天写的一个方法,实现Excel指定列的隐藏和显示: 环境:VS2010,OFFICE 2010 代码:#region 隐藏和显示Excel中的一列        /// <summary> ...

随机推荐

  1. POJ 2429 GCD & LCM Inverse (Pollard rho整数分解+dfs枚举)

    题意:给出a和b的gcd和lcm,让你求a和b.按升序输出a和b.若有多组满足条件的a和b,那么输出a+b最小的.思路:lcm=a*b/gcd   lcm/gcd=a/gcd*b/gcd 可知a/gc ...

  2. 解决 internet connection sharing 启动不了

    1.确认Windows Firewall服务是否启动(有异常可参考下面) a.打开注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ ...

  3. 泥泞的道路(codevs 1183)

    题目描述 Description CS有n个小区,并且任意小区之间都有两条单向道路(a到b,b到a)相连.因为最近下了很多暴雨,很多道路都被淹了,不同的道路泥泞程度不同.小A经过对近期天气和地形的科学 ...

  4. Material Design入门(二)

    本文主要包括以下内容 侧滑菜单DrawerLayout实现 CardView实现 DrawerLayout介绍 drawerLayout是Support Library包中实现了侧滑菜单效果的控件,可 ...

  5. WSGI服务器实践二--实践一个基本功能的WSGI服务器

    由于各种PYTHON框架都实现了WSGI接口,所以,通用性很广的. 在调试过程过,有一个字母拼错,搞了一个小时. 看来PYTHON自带的编辑器没有高亮,不爽. 在有提示的编辑器里一看就看了来啦..:) ...

  6. ytu 1938:首字母变大写(水题)

    首字母变大写 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 110  Solved: 43[Submit][Status][Web Board] Desc ...

  7. .NET 下各种Resource的读取方式

    1) Embedded Resource (Build Action 设置为 Embedded Resource) 在运行时使用GetManifestResourceStream读取 Image.Fr ...

  8. hdu 1755 数学 ***

    链接:点我 题解可以看这里:点我和这里 #include<cstdio> #include<cstring> #include<algorithm> #define ...

  9. poj 1330 LCA

    #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #i ...

  10. ActiveMQ Exception: java.io.EOFException: Chunk stream does not exist

    解决办法: 方法1. 去掉延迟功能:<broker xmlns="http://activemq.apache.org/schema/core " brokerName=&q ...