Spread.NET 是一個在功能和佈局上與 Excel 高度相似的 .NET表格控件,目前已普遍應用於財務、預算、工程、統計等領域的信息系統開發中,經過強大的數據處理引擎和靈活的數據可視化呈現,爲商業表單控制面板提供了豐富、有效的內容信息。數組
現在,Spread.NET 的全新版本 V12.1 已經正式發佈,該版本包含了諸多功能亮點,如動態數組支持(可大幅簡化計算公式,提升公式運算效率)、公式追蹤、交替樣式支持、與 VSTO 相似的基於 1 的索引、相似 RTD 的異步函數等。異步
在列舉 Spread.NET V12.1 的所有功能以前,請下載最新安裝程序,以便同步體驗!函數
>>.NET表格控件Spread.NET V12.1下載地址工具
Excel 2019 推出了動態數組函數,用於簡化複雜計算公式:使用動態數組,返回值將自動「輸出」到相鄰單元格中(未使用的)。用戶只需編寫一個簡單的公式,而不是編寫複雜的數組公式就可解決多單元格問題。佈局
Excel 動態數組功能預覽編碼
做爲一款與 Excel 高度相似的表格控件,在 Spread.NET V12.1 中,也加入瞭如 Excel 動態數組同樣的功能。設計
首先,須要在 Spread 設計器中啓用動態數組——默認狀況下,動態數組不會自動啓用,您須要經過如下方式之一顯式啓用它們:在Windows窗體的 Spread 設計器(Spread Designer)中,有一個新的「公式」選項卡,以下圖:orm
如何在 Spread.NET 中使用動態數組對象
在「計算引擎」菜單中選中「動態陣列」框,以啓用對動態陣列的支持。blog
除此以外,您也可使用代碼(經過調用 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 如今支持六種動態數組函數:
l SEQUENCE和RANDARRAY函數能夠生成順序或隨機數據的數組
l FILTER、SORT、SORTBY和UNIQUE函數主要用於篩選、排序、刪除重複項等功能
使用動態數組,當您的數據發生變化時,設計器將自動調整大小並從新計算,讓您的數據分析工做史無前例的簡單。
僅使用帶有 RANDARRAY 的 SORTBY,便可爲列表建立隨機排序:
使用SORTBY和RANDARRAY隨機排序值列表
僅使用SEQUENCE和NOW函數,實現每10分鐘建立一個時間表計劃標題:
使用SEQUENCE安排每隔十分鐘
僅使用三個公式和TRANSPOSE、SORT、UNIQUE和SUMIFS函數,直接在單元格中建立數據透視交叉分析表:
僅使用三個公式建立的數據透視交叉分析表
在使用公式時,有時須要瞭解公式中引用了哪些單元格的數據,這就涉及到公式追蹤的操做。在 Spread.NET V12.1 中,這些用於公式追蹤的工具能夠在Trace Precedents,Trace Dependents和Remove Arrows中的Formula Auditing組下找到:
Spread.NET V12.1 加入瞭如 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 中也得以實現, 這種細節處更新可使具備特定相對和絕對要求的公式比之前更易實現。
以上就是 Spread.NET V12.1 的主要新功能介紹,如需瞭解更多,請前往 Spread.NET 產品官網。