foo.xlsが右の見たいなのとして
foo.ps1 > foo.xml
で
<?xml version="1.0" encoding="utf-8"?>
<excel>
<data>
<date>2008/1/1</date>
<foo>1</foo>
<bar>12</bar>
<baz>100</baz>
</data>
・
・
・
</excel>
見たいにしてみる。
--- foo.ps1 ---
- $filePath = Get-ChildItem foo.xls*
- $excel = New-Object -comobject Excel.Application
- $workBooks = $excel.Workbooks.Open($filePath)
- #Sheet1を取得する
- $workbooks.Worksheets | % { if ($_.Index -eq 1) { $sheet = $_; }}
- @"
- <?xml version="1.0" encoding="utf-8"?>
- <excel>
- "@
- foreach($i in 2..13) {
- $d = $sheet.Cells.Item($i,1).Text;
- $foo = $sheet.Cells.Item($i,2).Text;
- $bar = $sheet.Cells.Item($i,3).Text;
- $baz = $sheet.Cells.Item($i,4).Text;
- @"
- <data>
- <date>$d</date>
- <foo>$foo</foo>
- <bar>$bar</bar>
- <baz>$baz</baz>
- </data>
- "@
- }
- @"
- </excel>
- "@
- $workBooks.Close()
- $excel.Quit()
0 コメント:
コメントを投稿