Compare commits

...

21 Commits

Author SHA1 Message Date
dfinke
fa907da4a4 chore: Update module version to 7.8.9 2024-05-18 09:41:57 -04:00
dfinke
24c205e65d feat: Improve ConvertTo-ExcelXlsx robustness
This commit improves the `ConvertTo-ExcelXlsx` function by making it more robust. Thanks to Edward Miller for the contribution.

Note: This message follows the established convention of starting with a type (feat for feature) and providing a concise and clear description of the changes made.
2024-05-18 09:41:50 -04:00
Doug Finke
a1418a336e Merge pull request #1603 from edwardmiller-mesirow/read-only
[ConvertTo-ExcelXlsx] open XLS as read-only
2024-05-18 09:37:38 -04:00
dfinke
63683db543 chore: Update module version to 7.8.8 2024-05-18 09:33:54 -04:00
Edward Miller
36b5495bd5 check for null first 2024-05-17 23:28:26 -05:00
Edward Miller
722516de7c use try-finally 2024-05-17 23:24:11 -05:00
Edward Miller
57bb049111 open XLS as read-only 2024-05-17 22:41:53 -05:00
Doug Finke
74cbca8b2f Merge pull request #1591 from pbossman/master
Resolve worksheet ArgumentCompleter Fixes:#1590
2024-05-03 13:50:52 -04:00
Doug Finke
53712d4f7f bump version 2024-05-03 13:46:19 -04:00
Doug Finke
98e2ac96ea update changelog and add image 2024-05-03 13:46:02 -04:00
Phil Bossman
efa73b37a0 Resolve worksheet argumentcompleter Fixes:#1590 2024-04-30 11:59:08 -04:00
Doug Finke
c1b395fac6 Merge pull request #1578 from RipFence/ChartDataSeparateBranch
ChartDataSeparatePage.ps1
2024-03-15 08:24:32 -04:00
dfinke
0d8d125222 Add infrastructure change and new features 2024-03-15 08:21:17 -04:00
dfinke
f77ee7b060 Ignore Examples folder in CI workflow 2024-03-15 08:21:07 -04:00
Tim Kremer
8ff1757c06 ChartDataSeparatePage.ps1 2024-03-14 13:33:49 -05:00
dfinke
ab526558a3 more badges 2023-12-27 16:00:40 -05:00
Doug Finke
61744012cd Merge pull request #1522 from kyllath/master
Add missing parameter aliases to align with caller/callee
2023-10-12 17:16:46 -04:00
dfinke
2cb4712bc5 bump version 2023-10-12 17:10:00 -04:00
dfinke
6847a49baa update log 2023-10-12 17:09:56 -04:00
John Boyne
b8a8f4c565 Add missing parameter aliases to align with caller/callee 2023-10-11 20:36:26 +01:00
Doug Finke
edf25cf946 Merge pull request #1465 from dfinke/Extend-Get-Excel-File-Summary
Add Get-ExcelFileSchema
2023-06-14 05:54:11 -04:00
9 changed files with 86 additions and 12 deletions

View File

@@ -3,9 +3,12 @@ on:
branches:
- master
- Set-up-GHA-CI/CD
paths-ignore:
- 'Examples/**'
pull_request:
jobs:
validate:
runs-on: ${{ matrix.os }}

View File

@@ -0,0 +1,35 @@
$data = ConvertFrom-Csv @"
Region,State,Units,Price
West,Texas,927,923.71
North,Tennessee,466,770.67
East,Florida,520,458.68
East,Maine,828,661.24
West,Virginia,465,053.58
North,Missouri,436,235.67
South,Kansas,214,992.47
North,North Dakota,789,640.72
South,Delaware,712,508.55
"@
$xlfile = "$PSScriptRoot\spike.xlsx"
Remove-Item $xlfile -ErrorAction SilentlyContinue
$xlpkg = $data | Export-Excel $xlfile -WorksheetName Data -AutoNameRange -PassThru
$null = Add-Worksheet -ExcelPackage $xlpkg -WorksheetName Summary -Activate
$params = @{
Worksheet = $xlpkg.Summary
Title = "Sales by Region"
ChartType = 'ColumnClustered'
# XRange = "Data!A2:A10"
# YRange = "Data!C2:C10"
XRange = 'Data!Region'
YRange = 'Data!Units'
}
Add-ExcelChart @params
Close-ExcelPackage $xlpkg -Show

View File

@@ -6,7 +6,7 @@
RootModule = 'ImportExcel.psm1'
# Version number of this module.
ModuleVersion = '7.8.5'
ModuleVersion = '7.8.9'
# ID used to uniquely identify this module
GUID = '60dd4136-feff-401a-ba27-a84458c57ede'

View File

@@ -67,9 +67,8 @@ function WorksheetArgumentCompleter {
param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter)
$xlPath = $fakeBoundParameter['Path']
if (Test-Path -Path $xlPath) {
$xlpkg = Open-ExcelPackage -ReadOnly -Path $xlPath
$WorksheetNames = $xlPkg.Workbook.Worksheets.Name
Close-ExcelPackage -nosave -ExcelPackage $xlpkg
$xlSheet = Get-ExcelSheetInfo -Path $xlPath
$WorksheetNames = $xlSheet.Name
$WorksheetNames.where( { $_ -like "*$wordToComplete*" }) | foreach-object {
New-Object -TypeName System.Management.Automation.CompletionResult -ArgumentList "'$_'",
$_ , ([System.Management.Automation.CompletionResultType]::ParameterValue) , $_

View File

@@ -8,7 +8,8 @@ function ConvertFrom-ExcelData {
[ScriptBlock]$ScriptBlock,
[Alias("Sheet")]
$WorksheetName = 1,
[int]$HeaderRow = 1,
[Alias('HeaderRow', 'TopRow')]
[int]$StartRow = 1,
[string[]]$Header,
[switch]$NoHeader,
[switch]$DataOnly

View File

@@ -45,11 +45,18 @@ function ConvertTo-ExcelXlsx {
throw "Could not create Excel.Application ComObject. Please verify that Excel is installed."
}
try {
$Excel.Visible = $false
$null = $Excel.Workbooks.Open($xlsFile.FullName)
$null = $Excel.Workbooks.Open($xlsFile.FullName, $null, $true)
$Excel.ActiveWorkbook.SaveAs($xlsxPath, $xlFixedFormat)
}
finally {
if ($null -ne $Excel.ActiveWorkbook) {
$Excel.ActiveWorkbook.Close()
}
$Excel.Quit()
}
}
}

View File

@@ -19,10 +19,13 @@ Consider donating. Thank you!
<br>
<br>
[![Build Status](https://dougfinke.visualstudio.com/ImportExcel/_apis/build/status/dfinke.ImportExcel?branchName=master)](https://dougfinke.visualstudio.com/ImportExcel/_build)
[![Follow on Twitter](https://img.shields.io/twitter/follow/dfinke.svg?style=social&label=Follow%20%40dfinke)](https://twitter.com/dfinke)
[![Subscribe on YouTube](https://img.shields.io/youtube/channel/subscribers/UCP47ZkO5EDkoI2sr-3P4ShQ
)](https://youtube.com/@dougfinke/)
<br/>
<br/>
[![](https://img.shields.io/powershellgallery/v/ImportExcel.svg)](https://www.powershellgallery.com/packages/ImportExcel)
[![](https://img.shields.io/powershellgallery/dt/ImportExcel.svg)](https://www.powershellgallery.com/packages/ImportExcel)
[![](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/dfinke/ImportExcel/tree/70ab9e46c776e96fb287682d5b9b4b51a0ec3bac/LICENSE.txt)
<a href="https://www.paypal.com/paypalme/DougCharlesFinke"><img src="https://img.shields.io/badge/Donate-PayPal-green.svg" alt="Donate"></a>
# Overview

View File

@@ -1,3 +1,29 @@
# 7.8.9
- Thanks to (Edward Miller)[https://github.com/edwardmiller-mesirow] for improving `ConvertTo-ExcelXlsx`and making it more robust
# 7.8.8
- Fix the release
# 7.8.7
- Thanks to [Phil Bossman](https://github.com/pbossman) for the PR and fixing this.
Now, back again, you can type `Import-Excel .\yearlySales.xlsx`, press <ctrl+space> and get a list of the worksheets in the Excel file
![alt text](images/AutoCompleteSheetNames.png)
# Infrastructure change
- Thank you to [RipFence](https://github.com/RipFence) who asked how to place a chart on a different sheet from the data and then did a PR adding the example.
- added `ignore` so files checked into examples do not trigger a CI run
# 7.8.6
- Thank you [John Boyne](https://github.com/kyllath)
- Add missing parameter aliases to align with caller/callee
# 7.8.5
- Added `Get-ExcelFileSchema` to get the schema of an Excel file.

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB