翻譯|產品更新|編輯:龔雪|2025-04-07 11:33:18.500|閱讀 129 次
概述:DevExpress Office File API控件日前正式發布了v24.2,新版本正式官宣不再支持非Windows系統等,歡迎下載最新版組件體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
DevExpress Office File API是一個專為C#, VB.NET 和 ASP.NET等開發人員提供的非可視化.NET庫。有了這個庫,不用安裝Microsoft Office,就可以完全自動處理Excel、Word等文檔。開發人員使用一個非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CSV 和 Snap Report等企業級文件。
DevExpress Office File API控件日前正式發布了v24.2,新版本正式官宣不再支持非Windows系統等,歡迎下載最新版組件體驗!
DevExpress技術交流群11:749942875 歡迎一起進群討論
由于官方對.NET 8的承諾,以及再去年發布跨平臺的基于SkiaSharp的引擎之后,重構了源代碼并在非Windows環境(libgdiplus)中刪除了所有與GDI+相關的方法調用。
C#
using System.IO; using DevExpress.XtraRichEdit; // ... RichEditDocumentServer wordProcessor = new RichEditDocumentServer(); //... using(FileStream stream = new FileStream(resultFilePath, FileMode.Create, FileAccess.Write, FileShare.Read)) { PdfExportOptions exportOptions = new PdfExportOptions(); exportOptions.PdfUACompatibility = PdfUACompatibility.PdfUA1; wordProcessor.ExportToPdf(stream, exportOptions); }
多種DevExpress產品(Reporting、BI Dashboard和Office File API)都帶有打印和數據導出功能,適用于受限制的環境,如Microsoft Azure(其中與元文件和字體對象相關的某些GDI/GDI+調用不可用),AzureCompatibility.Enabled屬性管理此功能。
在v23.2版本周期中,官方停止了對非Windows環境中此屬性切換所提供的功能支持。在v24.2中,官方也在基于Windows的環境中逐步取消了Office File API庫中的AzureCompatibility.Enabled切換,建議在針對云/受限環境時使用基于Skia的跨平臺圖形引擎。
DevExpress Office File API庫自動確定所使用的適用繪圖引擎,您可以通過使用靜態的選項手動切換到不同的繪圖引擎。
C#
DevExpress.Drawing.Settings.DrawingEngine = DevExpress.Drawing.DrawingEngine.Skia;
v24.2擴展了公式計算引擎,并將動態數組集成到Spreadsheet Document API庫中。與標準數組公式不同,標準數組公式為每個單元格返回一個值,而動態數組函數返回一個動態的值數組(這個值數組會自動溢出到相鄰的單元格中)。
新的函數包括:
現在您可以在Spreadsheet Document API庫中導入包含動態數組公式的Excel文檔,調用方法重新計算這些公式,并將計算后的文檔保存為Excel格式,打印和導出為PDF也可用。
此外您可以在代碼中管理動態數組公式,v24.2發布了以下新API:
如果您想使用新的API獲取、插入或清除動態數組公式,請參閱以下代碼片段:
C#
Worksheet worksheet = workbook.Worksheets.ActiveWorksheet; // Insert dynamic array formulas worksheet["A1"].DynamicArrayFormulaInvariant = "={\"Red\",\"Green\",\"Orange\",\"Blue\"}"; worksheet.DynamicArrayFormulas.Add(worksheet["A2"], "=LEN(A1:D1)"); // Clear dynamic array formulas Cell cell = worksheet.Cells["B2"]; if (cell.HasDynamicArrayFormula) { CellRange dynamicArrayRange = cell.GetDynamicArrayFormulaRange(); dynamicArrayRange.Clear(); } worksheet.DynamicArrayFormulas.Remove(worksheet.Cells["A1"].GetDynamicArrayFormulaRange());
要抑制動態數組公式計算并恢復到以前的操作,請將WorkbookCapabilitiesOptions.DynamicArrayFormulas屬性設置為DocumentCapability.Disabled。在本例中,動態數組公式將作為標準數組公式計算。
DevExpress Spreadsheet Document API庫(v24.2)允許您將圖像直接嵌入到工作表單元格中(使用Microsoft Excel的“Place in Cell”選項),還可以導入在工作表單元格中嵌入圖像的文檔,打印這些文檔,將其導出為PDF并將其保存到支持的Excel文件中(不會丟失內容)。
v24.2包含了用于在代碼中管理單元嵌入圖像的新API,嵌入的圖像存儲為單元格值。若要確定單元格是否有嵌入圖像,請使用CellValueIsCellImage屬性。使用CellValueImageValue屬性獲取單元格圖像值作為OfficeImage對象(允許您檢查圖像格式或獲取圖像字節)。若要在單元格中插入圖像,請將其分配給CellRangeValue屬性。Spreadsheet Document API庫支持以下對象類型作為圖像源:
此外,v24.2實現了指定圖像Alt Text(有意義的描述)值和將單元格圖像標記為裝飾性的選項,這些設置可以通過屬性獲得。
下面的代碼片段演示了這個新的API:
C#
byte[] imageBytes = File.ReadAllBytes("image.png"); MemoryStream imageStream = new MemoryStream(imageBytes); DXImage dximage = DXImage.FromStream(imageStream); // Insert cell images from a byte array, stream and DXImage object worksheet.Cells["A1"].Value = imageBytes; worksheet.Cells["A2"].Value = imageStream; worksheet.Cells["A3"].Value = dximage; // Set image Alt Text values worksheet.Cells["A1"].ImageInfo.AlternativeText = "Image AltText"; // Mark the cell image as decorative if (worksheet.Cells["A2"].Value.IsCellImage) worksheet.Cells["A2"].ImageInfo.Decorative = true; // Save the cell image to a new file OfficeImage cellImage = worksheet.Cells["A1"].Value.ImageValue; if (cellImage.RawFormat == OfficeImageFormat.Png) { byte[] cellImageBytes = cellImage.GetImageBytes(cellImage.RawFormat); File.WriteAllBytes("saved_image.png", cellImageBytes); } // Remove cell image worksheet.Cells["A3"].ClearContents();
v24.2增加了對Spreadsheet單元格內的對齊和分布式垂直對齊類型的支持,具有這些對齊選項的Excel文件可以打印并導出為PDF。
您可以使用Cell.Alignment.Vertical屬性在代碼中指定垂直對齊方式,下面的代碼片段指定了代碼中的對齊方式:
C#
var workbook = new Workbook(); var worksheet = workbook.Worksheets[0]; Cell cellA1 = worksheet.Cells["A1"]; cellA1.Value = "Centered and Justified"; cellA1.Alignment.Horizontal = SpreadsheetHorizontalAlignment.Center; cellA1.Alignment.Vertical = SpreadsheetVerticalAlignment.Justify; workbook.ExportToPdf("Result.pdf");
更多產品資訊及授權,歡迎來電咨詢:023-68661681
慧都科技是專注軟件工程、智能制造、石油工程三大行業的數字化解決方案服務商。在軟件工程領域,我們提供開發控件、研發管理、代碼開發、部署運維等軟件開發全鏈路所需的產品,提供正版授權采購、技術選型、個性化維保等服務,幫助客戶實現技術合規、降本增效與風險可控。
慧都科技是DevExpress的中國區的合作伙伴,DevExpress作為用戶界面領域的優秀產品,幫助企業高效構建權限管理、數據可視化(如網格/圖表/儀表盤)、跨平臺系統(WinForms/ASP.NET/.NET MAUI)及行業定制解決方案,加速開發并強化交互體驗。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網