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