Powershell excel thiết lập bảng hoạt động

Dòng đầu tiên sẽ chọn ba trang tính và theo mặc định, trang tính đầu tiên sẽ là trang tính hiện hoạt

Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select 

Dòng thứ hai sẽ không giữ lựa chọn hiện tại mà sẽ chỉ chọn trang tính "Sheet2"

1. Mở Excel, Chọn trang tính đầu tiên, đặt Tự động Lọc và sau đó lọc theo Cột Cụ thể bằng một Chuỗi cụ thể

$Filename = "c:\temp\mysheet.xlsx"
$objExcel = New-Object -ComObject Excel.Application
$objExcel.DisplayAlerts = $False
$objWrkBk  = $objExcel.Workbooks.Open($Filename)
$objExcel.Visible = $True
# one way of selecting a sheet e.g. 3rd worksheet
# $objWrkBk.Sheets(3).Select()
# another way of selecting a sheet e.g. 1st worksheet
# $objWrkBk.Worksheets.item(1).Select()
$objWrkSht1 = $objWrkBk.Worksheets.item(1)
$objWrkSht1.Select()
# filter on 7th column, with string matching 'ABC'
$objWrkSht1.Range('$A$nn:$P$mm').AutoFilter(7,'=ABC')
# $A$nn => range first cell position, $P$mm = range last cell position

2. Đọc dữ liệu từ ô cụ thể

# Đọc dữ liệu tại cột 7, hàng 1
$objWrkSht1. tế bào. Mục(7,1). Công ty Value2

3. Đọc dữ liệu từ một phạm vi ô

# Đọc dữ liệu từ một phạm vi
$objWrkSht1. Phạm vi ("G2. G4"). Giá trị2ABC
ABC
ABC

4. Đọc dữ liệu từ một phạm vi ô vào một mảng

# đọc vào một mảng
$companies = @($objWrkSht1. Phạm vi ("G2. G21"). Giá trị2)
# lặp trên tất cả các mục mảng, phương thức 1
cho ($i=0;$i -lt $companies. Chiều dài;
{
$companies[$i]
}
# lặp trên tất cả các mục mảng, phương pháp 2
foreach ($coy trong $companies) { $coy }CA04
CA04
CA03
CY02
CY02
CY03
RA01
RA01
ABC01
ABC01
DEF02
DEF02
DEF02
DEF02
DEF02
VA02
VA02
VA02
VA02
VA02

5. Chọn tất cả các ô đã sử dụng trong một trang tính

# chọn tất cả các ô đã sử dụng
$objExcel. tế bào. Lựa chọn()

6. Sắp xếp trên 2 cột có tiêu đề

# cách sắp xếp trên 2 cột H & G có bật tiêu đề, sắp xếp theo cột G tăng dần, theo cột H giảm dần
$xlSortOnValues ​​= $xlSortNormal   = 0
$xlTopToBottom  = $xlSummaryBelow = 1
$xlTăng dần    = 1
$xlGiảm dần   = 2
$xlKhông           = 2
$xlCó          = 1

$objWrkSht1 = $objWrkBk. bảng tính. Mục 1)
$objWrkSht1. Lựa chọn()
$objRange       = $objWrkSht1. Phạm vi đã sử dụng
$objRange1      = $objWrkSht1. phạm vi ("G1")
$objRange2      = $objWrkSht1. phạm vi ("H1")
$objWrkSht1. Loại. Trường sắp xếp. Thông thoáng()

[void] $objWrkSht1. Loại. Trường sắp xếp. Thêm($objRange1,$xlSortOnValues,$xlAscending,$xlSortNormal)
[void] $objWrkSht1. Loại. Trường sắp xếp. Thêm($objRange2,$xlSortOnValues,$xlDescending,$xlSortNormal)

$objWrkSht1. loại. setRange($objRange)  # xác định phạm vi để sắp xếp
$objWrkSht1. loại. tiêu đề = $xlYes      # phạm vi có tiêu đề
$objWrkSht1. loại. định hướng = $xlTopToBottom
$objWrkSht1. loại. áp dụng()

Trước khi sắp xếp
Sau khi sắp xếp

7. Tìm hàng cuối cùng và cột cuối cùng của trang tính đang được sử dụng

$Filename = "c. \temp\mysheet. xlsx"
$objExcel = Đối tượng mới -ComObject Excel. Đăng kí
$objExcel. Cảnh báo hiển thị = $Sai
$objWrkBk  = $objExcel. sách bài tập. Mở ($Tên tệp)
$objExcel. Hiển thị = $True

$objWrkSht1 = $objWrkBk. bảng tính. Mục 1)
$objWrkSht1. Lựa chọn()
$objRange   = $objWrkSht1. Phạm vi đã sử dụng

$xlCellTypeLastCell = 11
$objLastcell = $objRange. SpecialCells($xlCellTypeLastCell)
$lastrow = $objLastcell. hàng ngang
$lastcolumn = $objLastcell. cột
$lastrow,$lastcolumn

1175
11

số 8. Đặt bộ lọc tự động trên một cột theo nhiều tiêu chí

# Tự động lọc với nhiều tiêu chí trên một cột cụ thể
$Filename = "c. \temp\mysheet. xlsx"
$objExcel = Đối tượng mới -ComObject Excel. Đăng kí
$objExcel. Cảnh báo hiển thị = $Sai
$objWrkBk  = $objExcel. sách bài tập. Mở ($Tên tệp)
$objExcel. Hiển thị = $True

$objWrkSht1 = $objWrkBk. bảng tính. Mục 1)
$objWrkSht1. Lựa chọn()
$objRange       = $objWrkSht1. Phạm vi đã sử dụng

$CriteriaArray = @('CA03','CY02','DEF02',"VA02","=")
# chọn trống với "=" HOẶC ""
#$CriteriaArray = @('CA03','CY02','DEF02',"VA02")
$xlFilterValues ​​= 7
phạm vi $obj. AutoFilter(7,$CriteriaArray,$xlFilterValues)

9. Các ví dụ về bộ lọc tự động khác

# Bộ lọc tự động phức tạp hơn
$Filename = "c. \temp\mysheet. xlsx"
$objExcel = Đối tượng mới -ComObject Excel. Đăng kí
$objExcel. Cảnh báo hiển thị = $Sai
$objWrkBk  = $objExcel. sách bài tập. Mở ($Tên tệp)
$objExcel. Hiển thị = $True

$objWrkSht1 = $objWrkBk. bảng tính. Mục 1)
$objWrkSht1. Lựa chọn()
$objRange       = $objWrkSht1. Phạm vi đã sử dụng

$xlFilterValues ​​= 7
$xlAnd = 1
$xlOr  = 2
# tiêu chí duy nhất
$Criteria = "<>ABC01"   # Không bằng nhau, sử dụng với xlAnd
$Criteria = "=ABC*"     # Bắt đầu bằng, sử dụng với xlAnd
$Criteria = "=*02"      # Kết thúc bằng, sử dụng với xlAnd
$Criteria = "=*BC*"     # Chứa, sử dụng với xlAnd
$Criteria = "<>*BC*"    # Không chứa, sử dụng với xlAnd
phạm vi $obj. Bộ lọc Tự động(7,$Criteria,$xlAnd)
#2 Tiêu chí có logic And
$Criteria1 = "=A*"
$Criteria2 = "=*1"
phạm vi $obj. AutoFilter(7,$Criteria1,$xlAnd,$Criteria2)
#2 Tiêu chí có logic Hay
phạm vi $obj. Bộ lọc Tự động(7,$Criteria1,$xlOr,$Criteria2)
#
# ĐỂ XÓA CÁC BỘ LỌC HIỆN CÓ
phạm vi $obj. Bộ lọc tự động()
#

10. Chọn các ô đã được lọc tự động

# áp dụng bộ lọc tự động rồi chọn các ô đang hoạt động hiển thị từ trên cùng bên trái xuống dưới cùng bên phải
$Filename = "c. \temp\mysheet. xlsx"
$objExcel = Đối tượng mới -ComObject Excel. Đăng kí
$objExcel. Cảnh báo hiển thị = $Sai
$objWrkBk  = $objExcel. sách bài tập. Mở ($Tên tệp)
$objExcel. Hiển thị = $True

$objWrkSht1 = $objWrkBk. bảng tính. Mục 1)
$objWrkSht1. Lựa chọn()
$objRange   = $objWrkSht1. Phạm vi đã sử dụng

$xlCellTypeLastCell = 11
$objLastcell = $objRange. SpecialCells($xlCellTypeLastCell)
$lastrow = $objLastcell. hàng ngang
$lastcolumn = $objLastcell. cột

$xlFilterValues ​​= 7
$xlAnd = 1
$xlOr  = 2
# tiêu chí duy nhất
$Criteria = "=DEF02"
phạm vi $obj. AutoFilter(7,$Criteria)

$xlLastCell = 11
#$objExcel. tế bào. Lựa chọn()
#$objExcel. tuyển chọn. AutoFilter(7,$Criteria)

$objExcel. Tế bào hoạt động. SpecialCells($xlLastCell). Lựa chọn()
$objExcel. Phạm vi($objExcel. Lựa chọn,$objExcel. Tế bào(1)). Lựa chọn()

11. Chọn các ô được lọc tự động, sao chép và dán vào sổ làm việc mới, lưu dưới dạng tên tệp mới và đóng

$Filename = "c. \temp\mysheet. xlsx"
$objExcel = Đối tượng mới -ComObject Excel. Đăng kí
$objExcel. Cảnh báo hiển thị = $Sai
$objWrkBk  = $objExcel. sách bài tập. Mở ($Tên tệp)
$objExcel. Hiển thị = $True

$objWrkSht1 = $objWrkBk. bảng tính. Mục 1)
$objWrkSht1. Lựa chọn()
$objRange   = $objWrkSht1. Phạm vi đã sử dụng
# định nghĩa hằng số
$xlCellTypeLastCell = 11
$xlOpenXMLWorkbook = 51
$xlFilterValues ​​= 7
$xlAnd = 1
$xlOr  = 2
$xlLastCell = 11
# tìm ô cuối cùng
$objLastcell = $objRange. SpecialCells($xlCellTypeLastCell)
$lastrow = $objLastcell. hàng ngang
$lastcolumn = $objLastcell. cột
# Đặt bộ lọc tự động
$Criteria = "=DEF02"
phạm vi $obj. AutoFilter(7,$Criteria)
# Chọn các ô đã lọc
$objExcel. Tế bào hoạt động. SpecialCells($xlLastCell). Lựa chọn()
$objExcel. Phạm vi($objExcel. Lựa chọn,$objExcel. Tế bào(1)). Lựa chọn()
# sao chép và dán vào sổ làm việc mới
$objExcel. Lựa chọn. sao chép()
$objExcel. sách bài tập. Thêm vào()
$objExcel. Bảng hoạt động. Dán()
# đặt nowrap và cột tự động điều chỉnh
$objExcel. tuyển chọn. WrapText = $False
$objExcel. tuyển chọn. Cột. Tự động điều chỉnh()
$objExcel. Phạm vi ("A2"). Lựa chọn()
# lưu dưới dạng sổ làm việc excel mới
$objExcel. ActiveWorkbook. SaveAs("c. \temp\DEF02-SR-Oct-2018. xlsx",$xlOpenXMLWorkbook)
#
$objExcel. sách bài tập. Đóng()
$objExcel. Từ bỏ()

sổ làm việc ban đầu

Sau khi tự động lọc và lưu dưới dạng sổ làm việc mới

# Điều này có nguồn gốc từ powershell và không thực sự là một phần của Excel
$mycontacts = nhập-csv "c. \temp\danh bạ. csv"
# Tạo các đối tượng tùy chỉnh giống như bảng từ các mục trong tệp CSV
# Một mảng các mục hàng, mỗi cột có thể truy cập bằng. Tên cột dọc
$mycontacts[0]. tên,$mycontacts[0]. địa chỉ,$mycontacts[0]. điện thoại
'------------------'
foreach ($liên hệ trong $mycontacts) { $liên hệ. tên,$liên hệ. địa chỉ, $liên hệ. điện thoại }

nguồn. tệp csv

đầu ra

tom
1 đường chính
12345678
------------
tom
1 đường chính
12345678
tinh ranh
2 mặt đại lộ
23456781
mary
3 lái xe vùng cao
34567812

TênGiá trịMô tảPhần mở rộngxlAddIn18Phần bổ trợ Microsoft Excel 97-2003*. xlaxlAddIn818Phần bổ trợ Microsoft Excel 97-2003*. xlaxlCSV6CSV*. csvxlCSVMac22Macintosh CSV*. csvxlCSVMSDOS24MSDOS CSV*. csvxlCSVWindows23Windows CSV*. csvxlCurrentPlatformText-4158Văn bản nền tảng hiện tại*. định dạng txtxlDBF27Dbase 2*. định dạng dbfxlDBF38Dbase 3*. định dạng dbfxlDBF411Dbase 4*. dbfxlDIF9Định dạng trao đổi dữ liệu*. difxlExcel1250Sổ làm việc nhị phân Excel*. xlsbxlExcel216Excel phiên bản 2. 0 (1987)*. xlsxlExcel2FarEast27Excel phiên bản 2. 0 viễn đông (1987)*. xlsxlExcel329Excel phiên bản 3. 0 (1990)*. xlsxlExcel433Excel phiên bản 4. 0 (1992)*. xlsxlExcel4Workbook35Excel phiên bản 4. 0. Định dạng sổ làm việc (1992)*. xlwxlExcel539Excel phiên bản 5. 0 (1994)*. xlsxlExcel739Excel 95 (phiên bản 7. 0)*. Sổ làm việc xlsxlExcel856Excel 97-2003*. xlsxlExcel979543Excel phiên bản 95 và 97*. định dạng xlsxlHtml44HTML*. htm; . htmlxlIntlAddIn26Phần bổ trợ quốc tếKhông có phần mở rộng tệpxlIntlMacro25Macro quốc tếKhông có phần mở rộng tệpxlOpenDocumentSpreadsheet60Bảng tính OpenDocument*. odsxlOpenXMLAddIn55Mở Bổ trợ XML*. xlamxlOpenXMLStrictWorkbook61 (&H3D)Tệp XML mở nghiêm ngặt*. xlsxxlOpenXMLTemplate54Mẫu XML mở*. xltxxlOpenXMLTemplateMacroEnabled53Đã bật Macro mẫu XML mở*. xltmxlOpenXMLWorkbook51Open XML Workbook*. xlsxxlOpenXMLWorkbookMacroEnabled52Đã bật macro Open XML Workbook*. xlsmxlSYLK2Định dạng liên kết tượng trưng*. slkxlTemplate17Định dạng mẫu Excel*. xltxlTemplate817Mẫu 8*. xltxlTextMac19Văn bản Macintosh*. txtxlTextMSDOS21MSDOS Văn bản*. txtxlTextPrinter36Văn bản máy in*. prnxlVăn bảnWindows20Văn bản Windows*. txtxlUnicodeText42Văn bản UnicodeKhông có phần mở rộng tệp; . txtxlWebArchive45Lưu trữ web*. mht; . mhtmlxlWJ2WD114Tiếng Nhật 1-2-3*. wj2xlWJ340Tiếng Nhật 1-2-3*. wj3xlWJ3FJ341Định dạng 1-2-3 của Nhật Bản*. định dạng wj3xlWK15Lotus 1-2-3*. wk1xlWK1ALL31Định dạng Lotus 1-2-3*. wk1xlWK1FMT30Định dạng Lotus 1-2-3*. wk1xlWK315Định dạng Lotus 1-2-3*. wk3xlWK3FM332Định dạng Lotus 1-2-3*. wk3xlWK438Định dạng Lotus 1-2-3*. định dạng wk4xlWKS4Lotus 1-2-3*. wksxlWorkbookDefault51Mặc định của Workbook*. xlsxxlWorkbookNormal-4143Workbook normal*. xlsxlWorks2FarEast28Microsoft Works 2. 0 định dạng viễn đông*. định dạng wksxlWQ134Quattro Pro*. wq1xlXMLSpreadsheet46Bảng tính XML*. xml

Bảng liệt kê này nhóm các hằng số lại với nhau được sử dụng với các phương thức Excel khác nhau

NameValueDescriptionxl3DBar-40993D Barxl3DEffects1133D Effects1xl3DEffects2143D Effects2xl3DSurface-41033D SurfacexlAbove0AbovexlAccounting14Accounting1xlAccounting25Accounting2xlAccounting417Accounting4xlAdd2AddxlAll-4104AllxlAccounting36Accounting3xlAllExceptBorders7All Except BordersxlAutomatic-4105AutomaticxlBar2AutomaticxlBelow1BelowxlBidi-5000BidixlBidiCalendar3BidiCalendarxlBoth1BothxlBottom-4107BottomxlCascade7CascadexlCenter-4108CenterxlCenterAcrossSelection7Center Across SelectionxlChart42Chart 4xlChartSeries17Chart SeriesxlChartShort6Chart ShortxlChartTitles18Chart TitlesxlChecker9CheckerxlCircle8CirclexlClassic11Classic1xlClassic22Classic2xlClassic33Classic3xlClosed3ClosedxlColor17Color1xlColor28Color2xlColor39Color3xlColumn3ColumnxlCombination-4111CombinationxlComplete4CompletexlConstants2ConstantsxlContents2ContentsxlContext-5002ContextxlCorner2CornerxlCrissCross16CrissCrossxlCross4CrossxlCustom-4114CustomxlDebugCodePane13Debug Code PanexlDefaultAutoFormat-1Default Auto FormatxlDesktop9DesktopxlDiamond2DiamondxlDirect1DirectxlDistributed-4117DistributedxlDivide5DividexlDoubleAccounting5Double AccountingxlDoubleClosed5Double ClosedxlDoubleOpen4Double OpenxlDoubleQuote1Double QuotexlDrawingObject14Drawing ObjectxlEntireChart20Entire ChartxlExcelMenus1Excel MenusxlExtended3ExtendedxlFill5FillxlFirst0FirstxlFixedValue1Fixed ValuexlFloating5FloatingxlFormats-4122FormatsxlFormula5FormulaxlFullScript1Full ScriptxlGeneral1GeneralxlGray1617Gray16xlGray25-4124Gray25xlGray50-4125Gray50xlGray75-4126Gray75xlGray818Gray8xlGregorian2GregorianxlGrid15GridxlGridline22GridlinexlHigh-4127HighxlHindiNumerals3Hindi NumeralsxlIcons1IconsxlImmediatePane12Immediate PanexlInside2InsidexlInteger2IntegerxlJustify-4130JustifyxlLast1LastxlLastCell11Last CellxlLatin-5001LatinxlLeft-4131LeftxlLeftToRight2Left To RightxlLightDown13Light DownxlLightHorizontal11Light HorizontalxlLightUp14Light UpxlLightVertical12Light VerticalxlList110List1xlList211List2xlList312List3xlLocalFormat115Local Format1xlLocalFormat216Local Format2xlLogicalCursor1Logical CursorxlLong3LongxlLotusHelp2Lotus HelpxlLow-4134LowxlLTR-5003LTRxlMacrosheetCell7MacrosheetCellxlManual-4135ManualxlMaximum2MaximumxlMinimum4MinimumxlMinusValues3Minus ValuesxlMixed2MixedxlMixedAuthorizedScript4Mixed Authorized ScriptxlMixedScript3Mixed ScriptxlModule-4141ModulexlMultiply4MultiplyxlNarrow1NarrowxlNextToAxis4Next To AxisxlNoDocuments3No DocumentsxlNone-4142NonexlNotes-4144NotesxlOff-4146OffxlOn1OnxlOpaque3OpaquexlOpen2OpenxlOutside3OutsidexlPartial3PartialxlPartialScript2Partial ScriptxlPercent2PercentxlPlus9PlusxlPlusValues2Plus ValuesxlReference4ReferencexlRight-4152RightxlRTL-5004RTLxlScale3ScalexlSemiautomatic2SemiautomaticxlSemiGray7510SemiGray75xlShort1ShortxlShowLabel4Show LabelxlShowLabelAndPercent5Show Label and PercentxlShowPercent3Show PercentxlShowValue2Show ValuexlSimple-4154SimplexlSingle2SinglexlSingleAccounting4Single AccountingxlSingleQuote2Single QuotexlSolid1SolidxlSquare1SquarexlStar5StarxlStError4St ErrorxlStrict2StrictxlSubtract3SubtractxlSystem1SystemxlTextBox16Text BoxxlTiled1TiledxlTitleBar8Title BarxlToolbar1ToolbarxlToolbarButton2Toolbar ButtonxlTop-4160TopxlTopToBottom1Top To BottomxlTransparent2TransparentxlTriangle3TrianglexlVeryHidden2Very HiddenxlVisible12VisiblexlVisualCursor2Visual CursorxlWatchPane11Watch PanexlWide3WidexlWorkbookTab6Workbook TabxlWorksheet41Worksheet4xlWorksheetCell3Worksheet CellxlWorksheetShort5Worksheet Short

Bảng liệt kê mô hình đối tượng Excel

https. // tài liệu. Microsoft. com/en-us/office/vba/api/excel(liệt kê)

NameValueDescriptionxlAnd1Logical AND của Criteria1 và Criteria2. xlBottom10Items4Các mục có giá trị thấp nhất được hiển thị (số mục được chỉ định trong Tiêu chí 1). xlBottom10Percent6Các mục có giá trị thấp nhất được hiển thị (phần trăm được chỉ định trong Tiêu chí 1). xlFilterCellColor8Color của ôxlFilterDynamic11Dynamic filterxlFilterFontColor9Color của phông chữxlFilterIcon10Filter iconxlFilterValues7Filtervalues7FiltervaluesxlOr2Logic OR của Criteria1 hoặc Criteria2. xlTop10Items3Các mục có giá trị cao nhất được hiển thị (số mục được chỉ định trong Tiêu chí 1). xlTop10Percent5Các mục có giá trị cao nhất được hiển thị (tỷ lệ phần trăm được chỉ định trong Tiêu chí 1). NameValueDescriptionxlMaximized-4137MaximizedxlMinimized-4140MinimizedxlNormal-4143Normal

Chỉ định thứ tự sắp xếp cho trường hoặc phạm vi đã chỉ định

NameValueDescripxlAscending1Sắp xếp trường được chỉ định theo thứ tự tăng dần. Đây là giá trị mặc định. xlDescending2Sắp xếp trường đã chỉ định theo thứ tự giảm dần

Chỉ định loại ô

NameValueDescripxlCellTypeAllFormatConditions-4172Cell ở bất kỳ định dạng nào. xlCellTypeAllValidation-4174Cells có tiêu chí xác thực. xlCellTypeBlanks4Ô trống. xlCellTypeComments-4144Các ô chứa ghi chú. xlCellTypeConstants2Cells chứa hằng số. xlCellTypeFormulas-4123Các ô chứa công thức. xlCellTypeLastCell11Ô cuối cùng trong phạm vi đã sử dụng. xlCellTypeSameFormatConditions-4173Các ô có cùng định dạng. xlCellTypeSameValidation-4175Cells có cùng tiêu chí xác thực. xlCellTypeVisible12Tất cả các ô hiển thị

Chỉ định hàng đầu tiên có chứa tiêu đề hay không. Không thể sử dụng khi sắp xếp báo cáo PivotTable

Làm cách nào bạn có thể đặt trang tính đang hoạt động trong Microsoft Excel?

Bằng bàn phím. Đầu tiên, nhấn F6 để kích hoạt các tab trang tính. Tiếp theo, sử dụng các phím mũi tên trái hoặc phải để chọn trang tính bạn muốn, sau đó bạn có thể sử dụng Ctrl+Dấu cách để chọn trang tính đó . Lặp lại các bước mũi tên và Ctrl+Dấu cách để chọn thêm trang tính.

Bảng hoạt động trong Excel là gì?

ActiveSheet là tab trang tính hiện được chọn trước khi chạy macro . Nếu nhiều trang tính được chọn, ActiveSheet là trang tính hiện đang được xem.

PowerShell có thể ghi vào Excel không?

Trong bài viết này, chúng tôi sẽ trình bày cách đọc và ghi dữ liệu từ trang tính Excel trực tiếp từ tập lệnh PowerShell. Bạn có thể sử dụng Excel cùng với PowerShell để kiểm kê và tạo các báo cáo khác nhau trên máy tính, máy chủ, cơ sở hạ tầng, Active Directory, v.v.