無需安裝Office,自動化編輯、快照、壓縮Excel,Word等多種文檔,還可生成多種條形碼
標簽:DevExpress文檔管理工業(yè)4.0開發(fā)商: DevExpress
當前版本: v24.2
產(chǎn)品類型:控件
產(chǎn)品功能:文檔管理
平臺語言:
開源水平:不提供源碼
本產(chǎn)品的分類與介紹僅供參考,具體以商家網(wǎng)站介紹為準,如有疑問請來電 023-68661681 咨詢。
DevExpress Office File API控件日前正式發(fā)布了v24.2,新版本正式官宣不再支持非Windows系統(tǒng)等,歡迎下載最新版組件體驗!
DevExpress技術(shù)交流群11:749942875 歡迎一起進群討論
由于官方對.NET 8的承諾,以及再去年發(fā)布跨平臺的基于SkiaSharp的引擎之后,重構(gòu)了源代碼并在非Windows環(huán)境(libgdiplus)中刪除了所有與GDI+相關(guān)的方法調(diào)用。
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產(chǎn)品(Reporting、BI Dashboard和Office File API)都帶有打印和數(shù)據(jù)導出功能,適用于受限制的環(huán)境,如Microsoft Azure(其中與元文件和字體對象相關(guān)的某些GDI/GDI+調(diào)用不可用),AzureCompatibility.Enabled屬性管理此功能。
在v23.2版本周期中,官方停止了對非Windows環(huán)境中此屬性切換所提供的功能支持。在v24.2中,官方也在基于Windows的環(huán)境中逐步取消了Office File API庫中的AzureCompatibility.Enabled切換,建議在針對云/受限環(huán)境時使用基于Skia的跨平臺圖形引擎。
DevExpress Office File API庫自動確定所使用的適用繪圖引擎,您可以通過使用靜態(tài)的選項手動切換到不同的繪圖引擎。
C#
DevExpress.Drawing.Settings.DrawingEngine = DevExpress.Drawing.DrawingEngine.Skia;
v24.2擴展了公式計算引擎,并將動態(tài)數(shù)組集成到Spreadsheet Document API庫中。與標準數(shù)組公式不同,標準數(shù)組公式為每個單元格返回一個值,而動態(tài)數(shù)組函數(shù)返回一個動態(tài)的值數(shù)組(這個值數(shù)組會自動溢出到相鄰的單元格中)。
新的函數(shù)包括:
現(xiàn)在您可以在Spreadsheet Document API庫中導入包含動態(tài)數(shù)組公式的Excel文檔,調(diào)用方法重新計算這些公式,并將計算后的文檔保存為Excel格式,打印和導出為PDF也可用。
此外您可以在代碼中管理動態(tài)數(shù)組公式,v24.2發(fā)布了以下新API:
如果您想使用新的API獲取、插入或清除動態(tài)數(shù)組公式,請參閱以下代碼片段:
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());
要抑制動態(tài)數(shù)組公式計算并恢復到以前的操作,請將WorkbookCapabilitiesOptions.DynamicArrayFormulas屬性設(shè)置為DocumentCapability.Disabled。在本例中,動態(tài)數(shù)組公式將作為標準數(shù)組公式計算。
DevExpress Spreadsheet Document API庫(v24.2)允許您將圖像直接嵌入到工作表單元格中(使用Microsoft Excel的“Place in Cell”選項),還可以導入在工作表單元格中嵌入圖像的文檔,打印這些文檔,將其導出為PDF并將其保存到支持的Excel文件中(不會丟失內(nèi)容)。
v24.2包含了用于在代碼中管理單元嵌入圖像的新API,嵌入的圖像存儲為單元格值。若要確定單元格是否有嵌入圖像,請使用CellValueIsCellImage屬性。使用CellValueImageValue屬性獲取單元格圖像值作為OfficeImage對象(允許您檢查圖像格式或獲取圖像字節(jié))。若要在單元格中插入圖像,請將其分配給CellRangeValue屬性。Spreadsheet Document API庫支持以下對象類型作為圖像源:
此外,v24.2實現(xiàn)了指定圖像Alt Text(有意義的描述)值和將單元格圖像標記為裝飾性的選項,這些設(shè)置可以通過屬性獲得。
下面的代碼片段演示了這個新的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單元格內(nèi)的對齊和分布式垂直對齊類型的支持,具有這些對齊選項的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");
更多產(chǎn)品資訊及授權(quán),歡迎來電咨詢:023-68661681
更新時間:2025-04-18 10:24:53.000 | 錄入時間:2013-09-09 18:01:21.000 | 責任編輯:龔雪