直接将Excel另存为CSV,速度很快:

$CurrentPath = $MyInvocation.MyCommand.Path.substring(0,$MyInvocation.MyCommand.Path.LastIndexOf('\')+1)
$NewADUserInfo_excel = Join-Path $CurrentPath NewADUserInfo_excel.xlsx
$NewADUserInfo_csv = Join-Path $CurrentPath NewADUserInfo_csv.csv If (Test-Path $NewADUserInfo_csv)
{
write-host "$NewADUserInfo_csv 已存在,按任意键将退出,请删除该文件后再重新运行脚本" -ForegroundColor Red
cmd /c "pause"
exit
} $Excel = New-Object -Com Excel.Application
$Excel.visible = $False
$Excel.displayalerts=$False
$WorkBook = $Excel.Workbooks.Open($NewADUserInfo_excel)
#保存为CSV格式,需要设置参数值为6
$Workbook.SaveAs($NewADUserInfo_csv,6)
$Excel.quit() #重新保存CSV文件为UTF8格式,否则无法正常导入(不识别中文字符)
$Temp_Info = gc $NewADUserInfo_csv
Start-Sleep -Milliseconds 600
$Temp_Info| Set-Content $NewADUserInfo_csv -Encoding utf8
$aa=Import-Csv $NewADUserInfo_csv
$aa
Start-Sleep -Milliseconds 800
remove-item $NewADUserInfo_csv -force

csv包含中文的话,直接通过import-csv会报错,可以使用如下两种方法:
1)  Import-CSV d:\a.csv -Encoding default

2)  gc d:\a.csv | convertfrom-csv

逐行读取Excel,然后将其保存为CSV,效率很低:

#读取负载均衡信息表
$strpath="D:\My Documents\Work\IP映射表.xlsx"
$excel=new-object -comobject excel.application
$WorkBook = $excel.Workbooks.Open($strpath)
$WorkSheet = $WorkBook.Worksheets.Item(1)
#已用行数
$usedrows = $worksheet.usedrange.rows.count
$Public_ip_maps_info = $Public_ip_maps_infos = $null
$Public_ip_maps_infos = @()
For($i=2;$i -le $usedrows;$i++)
{
$Public_ip_maps_info = ""|Select public_ip,internal_ip,is_vip
$Public_ip_maps_info.public_ip = $WorkSheet.Cells.Item($i,2).value2
$Public_ip_maps_info.internal_ip = $WorkSheet.Cells.Item($i,3).value2
$Public_ip_maps_info.is_vip = $WorkSheet.Cells.Item($i,4).value2
$Public_ip_maps_infos += $Public_ip_maps_info
}
$Public_ip_maps_infos
$excel.Quit()
$WorkSheet =$null
$WorkBook = $null
$excel = $null
[GC]::Collect()

将CSV另存为Excel,参考:

http://www.pstips.net/converting-csv-to-excel-file.html

将Excel另存为CSV格式文件的更多相关文章

  1. Excel和CSV格式文件的不同之处

    来源:https://blog.csdn.net/weixin_39198406/article/details/78705016 1.个人理解:为何选择使用csv来存储接口测试用例相关字段数据,而不 ...

  2. 如何把Excel另存为XML格式文件(快速转换)

    这时,我们尝试另存为另一种文件类型: XML电子表格2003(*.xml)

  3. SQLLoader2(导入EXCEL或csv格式的文件)

    一.EXCEL文件导入:1.首先将EXCEL文件另存为CSV格式文件--->用UltraEdit工具打开时可看到字段之间以逗号分隔. ,EMPNO,ENAME,JOB,MGR,HIREDATE, ...

  4. 导出CSV格式文件,用Excel打开乱码的解决办法

    导出CSV格式文件,用Excel打开乱码的解决办法 1.治标不治本的办法 将导出CSV数据文件用记事本打开,然后另存为"ANSI"编码格式,再用Excel打开,乱码解决. 但是,这 ...

  5. excel打开csv格式的文件,数字末尾都变成零,解决方式

    excel打开csv格式的文件,数字末尾都变成零,解决方式

  6. Python数据写入csv格式文件

    (只是传递,基础知识也是根基) Python读取数据,并存入Excel打开的CSV格式文件内! 这里需要用到bs4,csv,codecs,os模块. 废话不多说,直接写代码!该重要的内容都已经注释了, ...

  7. java导出csv格式文件

    导出csv格式文件的本质是导出以逗号为分隔的文本数据 import java.io.BufferedWriter; import java.io.File; import java.io.FileIn ...

  8. python3 库pandas写入csv格式文件出现中文乱码问题解决方法

    python3 库pandas写入csv格式文件出现中文乱码问题解决方法 解决方案: 问题是使用pandas的DataFrame的to_csv方法实现csv文件输出,但是遇到中文乱码问题,已验证的正确 ...

  9. 使用Spark读写CSV格式文件(转)

    原文链接:使用Spark读写CSV格式文件 CSV格式的文件也称为逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号.在本文中的CSV格 ...

随机推荐

  1. beginUpdates和endUpdates

    我们在做UITableView的修改,删除,选择时,需要对UITableView进行一系列的动作操作. 这样,我们就会用到 [tableView beginUpdates]; if (newCount ...

  2. Printf 格式化简要总结

    格式代码 A ABC ABCDEFGH %S A ABC ABCDEFGH %5S ####A ##ABC ABCDEFGH %.5S A ABC ABCDE %5.5S ####A ##ABC AB ...

  3. 无法加载 DLL“ArcGISVersion.dll”: 找不到指定的模块

    无法加载 DLL“ArcGISVersion.dll”: 找不到指定的模块.(异常来自 HRESULT:0x8007007E).

  4. FreeMarker笔记 第三章 模板

    ,先来一打小白兔: 3.1 总体结构 用程序语言编写的程序就是模板,模板也被成为FTL(代表FreeMarker模板语言). 模板是由如下部分混合而成的: Text文本:文本会照着原样来输出: Int ...

  5. 封装cookie.js、EventUtil.js、

    最近学习了javascript,封装好的东西看起来舒服,以备需要的时候拉出来,jquery对javascript做了很好的封装!以后会多用jquery多些 var CookieUtil = { get ...

  6. vim7.4 安装 k-vim

    注:在虚拟机 kali 1.9中安装完成之后,无法连接到网络(目前没找到有效的解决方法,不知道是不是通病,本人安装了两次,都一样),cpu占用率 70%+  ,建议安装之前,先建立快照,否则,后悔莫极 ...

  7. 第三百三十五天 how can I 坚持

    晚上回来看了个奥斯卡影片,<疯狂的麦克斯-狂暴之路>,挺震撼的场面.导演确实挺厉害,不知道是怎么想象出来的. 睡觉,明天继续.

  8. 两年内从零到每月十亿 PV 的发展来谈 Pinterest 的架构设计(转)

    原文:Scaling Pinterest - From 0 To 10s Of Billions Of Page Views A Month In Two Years 译文:两年内从零到每月十亿 PV ...

  9. <转>linux进程间通信<一>

    这篇文章真心不错,只是代码比较久,有些地方需求大家自行修改.先全文转载,以备复习只用.原文链接为:http://www.ibm.com/developerworks/cn/linux/l-ipc/pa ...

  10. Linux下的paste合并命令详解

    paste单词意思是粘贴.该命令主要用来将多个文件的内容合并,与cut命令完成的功能刚好相反. 粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同.paste将按行将不同文件行信息放在一 ...