翻譯|產(chǎn)品更新|編輯:龔雪|2025-04-07 11:33:18.500|閱讀 140 次
概述:DevExpress Office File API控件日前正式發(fā)布了v24.2,新版本正式官宣不再支持非Windows系統(tǒng)等,歡迎下載最新版組件體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
DevExpress Office File API是一個專為C#, VB.NET 和 ASP.NET等開發(fā)人員提供的非可視化.NET庫。有了這個庫,不用安裝Microsoft Office,就可以完全自動處理Excel、Word等文檔。開發(fā)人員使用一個非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CSV 和 Snap Report等企業(yè)級文件。
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ù)導(dǎo)出功能,適用于受限制的環(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庫中導(dǎo)入包含動態(tài)數(shù)組公式的Excel文檔,調(diào)用方法重新計算這些公式,并將計算后的文檔保存為Excel格式,打印和導(dǎo)出為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ù)組公式計算并恢復(fù)到以前的操作,請將WorkbookCapabilitiesOptions.DynamicArrayFormulas屬性設(shè)置為DocumentCapability.Disabled。在本例中,動態(tài)數(shù)組公式將作為標準數(shù)組公式計算。
DevExpress Spreadsheet Document API庫(v24.2)允許您將圖像直接嵌入到工作表單元格中(使用Microsoft Excel的“Place in Cell”選項),還可以導(dǎo)入在工作表單元格中嵌入圖像的文檔,打印這些文檔,將其導(dǎo)出為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文件可以打印并導(dǎo)出為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
慧都科技是專注軟件工程、智能制造、石油工程三大行業(yè)的數(shù)字化解決方案服務(wù)商。在軟件工程領(lǐng)域,我們提供開發(fā)控件、研發(fā)管理、代碼開發(fā)、部署運維等軟件開發(fā)全鏈路所需的產(chǎn)品,提供正版授權(quán)采購、技術(shù)選型、個性化維保等服務(wù),幫助客戶實現(xiàn)技術(shù)合規(guī)、降本增效與風險可控。
慧都科技是DevExpress的中國區(qū)的合作伙伴,DevExpress作為用戶界面領(lǐng)域的優(yōu)秀產(chǎn)品,幫助企業(yè)高效構(gòu)建權(quán)限管理、數(shù)據(jù)可視化(如網(wǎng)格/圖表/儀表盤)、跨平臺系統(tǒng)(WinForms/ASP.NET/.NET MAUI)及行業(yè)定制解決方案,加速開發(fā)并強化交互體驗。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:慧都網(wǎng)