直接将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. WCF服务通过防火墙怎么设置

    设置防火墙 1.首先点击控制面板->系统与安全->Window防火墙->点击允许程序通过Windows防火墙 2.查找Windows Communication Foundation ...

  2. Delphi中实现MDI子窗体(转)

        Delphi中实现MDI子窗体 用MDI实现浏览子窗口,具有窗口管理功能,同屏观看多个网页的内容  ① 多文档窗体(MDI) MDI窗体是一种具有主子结构的窗体体系,微软的Word便是其中的一 ...

  3. sql server 安装后登录服务器

    计算机名\数据库实例名 z*******f-PC\zzf

  4. OpenERP中的会计凭证

    OpenERP在采购和销售过程中会自动生成一些会计凭证,这些会计凭证反映了物流和资金流在财务上的处理方式. 仓库入库时 借:库存商品 贷:在途物资 收到供应商发票时 借:在途物资 借:进项税额 贷:应 ...

  5. JSON 教程学习进度备忘

    书签:跳过:另外跳过的内容有待跟进 __________________ 学习资源:W3School. _________________ 跳过的内容: 1. ______________ 知识点:1 ...

  6. EF Code First学习笔记

    EF Code First学习笔记 初识Code First EF Code First 学习笔记:约定配置 Entity Framework 复杂类型 Entity Framework 数据生成选项 ...

  7. JavaScript高级程序设计(第三版)第五章 引用类型

    5.2 Array类型 var colors = new Array(3); //创建一个包含3项的数组 var names = new Array("Greg"); //创建一个 ...

  8. Java的平台无关性

    转载自:http://www.cnblogs.com/Y/archive/2011/03/22/JavaVM_Learning_Chapter2_Platform_Independence.html ...

  9. leetcode—sudoku solver

    1.题目描述 Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicate ...

  10. Bluebird-Core API (三)

    Promise.join Promise.join( Promise<any>|any values..., function handler ) – -> Promise For ...