From 5b2311c298716e01951a2a2167f747ac02ec5951 Mon Sep 17 00:00:00 2001 From: Francois Lachance-Guillemette Date: Fri, 21 Aug 2015 10:59:47 -0400 Subject: [PATCH] Allow reading even if file is open by Excel --- ImportExcel.psm1 | 8 ++++++-- TestImportExcel.ps1 | 3 +++ 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 TestImportExcel.ps1 diff --git a/ImportExcel.psm1 b/ImportExcel.psm1 index 2978967..83ace78 100644 --- a/ImportExcel.psm1 +++ b/ImportExcel.psm1 @@ -12,8 +12,10 @@ function Import-Excel { $FullName = (Resolve-Path $FullName).Path write-debug "target excel file $FullName" + + $stream = New-Object System.IO.FileStream $FullName,"Open","Read","ReadWrite" - $xl = New-Object OfficeOpenXml.ExcelPackage $FullName + $xl = New-Object OfficeOpenXml.ExcelPackage $stream $workbook = $xl.Workbook @@ -39,7 +41,9 @@ function Import-Excel { } [PSCustomObject]$h } - + + $stream.Close() + $stream.Dispose() $xl.Dispose() $xl = $null } diff --git a/TestImportExcel.ps1 b/TestImportExcel.ps1 new file mode 100644 index 0000000..7d9d8c7 --- /dev/null +++ b/TestImportExcel.ps1 @@ -0,0 +1,3 @@ +Import-Module "$PSScriptRoot/ImportExcel" -Force + +Import-Excel "$PSScriptRoot/test.xlsx" -ErrorAction Stop \ No newline at end of file