原創||編輯:陳津勇|2019-07-09 15:39:17.433|閱讀 210 次
概述:
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Excel 2019 推出了動態數組函數,用于簡化復雜計算公式:使用動態數組,返回值將自動“輸出”到相鄰單元格中(未使用的)。用戶只需編寫一個簡單的公式,而不是編寫復雜的數組公式就可解決多單元格問題。
Excel 動態數組功能預覽
(Excel 動態數組功能預覽)
作為一款與 Excel 高度類似的表格控件,在 Spread.NET V12.1 中,也加入了如 Excel 動態數組一樣的功能。
首先,需要在 Spread 設計器中啟用動態數組——默認情況下,動態數組不會自動啟用,您需要通過以下方式之一顯式啟用它們:在Windows窗體的 Spread 設計器(Spread Designer)中,有一個新的“公式”選項卡,如下圖:
如何在 Spread.NET 中使用動態數組
(如何在 Spread.NET 中使用動態數組)
在“計算引擎”菜單中選中“動態陣列”框,以啟用對動態陣列的支持。
除此之外,您也可以使用代碼(通過調用 CalculationFeatures 函數),啟用動態數組:
【C#】
fpSpread1.AsWorkbook().WorkbookSet.CalculationEngine.CalcFeatures = GrapeCity.Spreadsheet.CalcFeatures.DynamicArray;
【VB】
FpSpread1.AsWorkbook().WorkbookSet.CalculationEngine.CalcFeatures = GrapeCity.Spreadsheet.CalcFeatures.DynamicArray
舉例:鍵入類似“= {1,1,2,2,3}”的公式,該公式硬編碼水平溢出的數組值如下圖:
水平陣列使用','分隔符水平溢出
(水平陣列使用','分隔符水平溢出)
鍵入“= {1; 1; 2; 2; 3}}”這樣的公式,它硬編碼垂直溢出的數組值如下圖:
垂直數組使用';' 分隔符垂直溢出
(垂直數組使用';' 分隔符垂直溢出)
鍵入“= {1,1,2,1,3; 1,1,2,1,3; 1,2,3,2,5; 1,2,3,2,5; 1,2 ,2,2,5}“ 這樣的公式,其硬編碼水平和垂直溢出的二維數組值如下圖:
二維數組垂直和水平溢出
(二維數組垂直和水平溢出)
在相鄰空白單元格中放置值的行為稱為“填充(Spilling)”,當選擇溢出范圍內的任何單元格時,Spread.NET 會用淺藍色邊框,指示公式的“填充范圍”,并且FormulaTextBox將單元格公式顯示為已禁用且不可編輯。
Spread.NET 現在支持六種動態數組函數:
使用動態數組,當您的數據發生變化時,設計器將自動調整大小并重新計算,讓您的數據分析工作前所未有的簡單。
僅使用帶有 RANDARRAY 的 SORTBY,即可為列表創建隨機排序:
使用SORTBY和RANDARRAY隨機排序值列表
(使用SORTBY和RANDARRAY隨機排序值列表)
僅使用 SEQUENCE 和 NOW 函數,實現每 10 分鐘創建一個時間表計劃標題:
使用SEQUENCE安排每隔十分鐘
(使用SEQUENCE安排每隔十分鐘)
僅使用三個公式和 TRANSPOSE、SORT、UNIQUE 和 SUMIFS 函數,直接在單元格中創建數據透視交叉分析表:
僅使用三個公式創建的數據透視交叉分析
(僅使用三個公式創建的數據透視交叉分析)
Spread.NET 設計器(Spread Designer) 中新增了 Formulas選項卡,包含全新的動態數組支持(默認情況下不啟用)、定義名稱、公式審計和用于計算的工具。
在使用公式時,有時需要了解公式中引用了哪些單元格的數據,這就涉及到公式追蹤的操作。在 Spread.NET V12.1 中,這些用于公式追蹤的工具可以在 Trace Precedents,Trace Dependents 和 Remove Arrows 中的 Formula Auditing 組下找到:
Spread.NET 設計器的公式追蹤
(Spread.NET 設計器的公式追蹤)
Spread.NET V12.1 加入了如 Excel 般的行、列交替樣式支持,為交替行或列(通常稱為色帶)添加顏色,以便使工作表中的數據更易于瀏覽,此功能包括對內置 Excel 樣式和主題的支持,如顏色漸變和圖案填充。
新增如 Excel 般的行、列交替樣式支持
(新增如 Excel 般的行、列交替樣式支持)
實現方法:當需使用交替樣式時,直接調用 AlternatingRows類包裝的新接口即可,或者您也可以直接調用GrapeCity.Spreadsheet.dll的新公共接口來創建交替的行和列樣式。
通過創建 IWorkbook,Spread.NET 為所有 GrapeCity.Spreadsheet.IWorkbook API(如 Microsoft Excel? VSTO API)提供了與 VSTO 類似的基于 1 的索引,這樣做的目的是:可以輕松地將 Excel VBA 代碼或舊的 Spread COM 代碼(基于 1 的行和列索引部分)移植到 .NET 平臺下(后者曾一直使用基于 0 的索引來支持以前版本中的所有 API,以實現 CLS)。
鑒于 Microsoft Excel ? 支持Visual Studio Tools for Office(VSTO)的Visual Basic for Applications(VBA)對象模型中基于1的索引,而 Spread.NET 的常見使用場景便是從支持宏的 Microsoft 中創建使用 VBA 和 VSTO的 電子表格應用程序。所以,Spread.NET 使用基于 1 的索引,將更易于 VBA 代碼移植。
實現方法:只需一次調用,即可獲得基于1的索引對象:
【C#】
IWorkbook iwb = WorkbookSet.CreateBase1Object(fpSpread1.AsWorkbook());
【VB】
Dim iwb As IWorkbook = WorkbookSet.CreateBase1Object(FpSpread1.AsWorkbook())
Spread.NET 對創建自定義計算功能提供了豐富的支持,如使用AsyncFunction類創建類似RTD函數的異步函數。RTD 函數自 Excel 2002 引入,主要用于查看和更新實時數據。在 Spread.NET V12.1 中,您可以創建繼承自 AsyncFunction 的自定義計算函數,實現對異步計算的支持,還可以通過各種 FunctionAttributes 來指示特殊函數的行為,如波動率或返回數組值。
在 Excel 中,使用 CTRL 鍵配合鼠標或鍵盤可以選中或刪除特定的單元格。而在 Spread.NET V12.1 中也將提供該功能, 這意味著您可以輕松地選擇一系列單元格以應用某些更改,對于需要選擇大范圍數據的使用場景來說,這個功能將非常實用!
Excel 支持在編輯公式引用時使用F4鍵,在絕對和相對列和行引用之間切換引用。這個功能在 Spread.NET 中也得以實現, 這種細節處更新可以使具有特定相對和絕對要求的公式比以前更易實現。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn