IronXL 开始 .NET MAUI Excel 在 .NET MAUI 中创建、读取和编辑 Excel 文件 Curtis Chau 已更新:七月 22, 2025 下载 IronXL NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English 简介 本操作指南解释了如何使用 IronXL 在 Windows 的 .NET MAUI 应用程序中创建和读取 Excel 文件。 我们开始吧。 IronXL:C# Excel 库 IronXL 是一个用于读取、写入和操作 Excel 文件的 C# .NET 库。 它允许用户从头开始创建 Excel 文档,包括 Excel 的内容和外观,以及标题和作者等元数据。 该库还支持用户界面自定义功能,例如设置边距、方向、页面大小、图像等。 它不需要任何外部框架、平台集成或其他第三方库即可生成 Excel 文件。 它是自包含且独立的。 如何在 .NET 中读取 Excel 文件 MAUI 安装 C# 库以读取 Excel 文件 确保安装运行 MAUI 应用程序所需的所有软件包 使用 Maui 中的直观 API 创建 Excel 文件 在浏览器中加载和查看 Excel 文件 保存和导出 Excel 文件 安装 IronXL 今天在您的项目中使用 IronXL,免费试用。 第一步: 免费开始 要安装 IronXL,您可以使用 Visual Studio 中的 NuGet 程序包管理器控制台。 打开控制台并输入以下命令来安装 IronXL 库。 Install-Package IronXL.Excel 使用 IronXL 在 C# 中创建 Excel 文件 设计应用程序前端 打开名为MainPage.xaml的 XAML 页面,并将其中的代码替换为以下代码片段。 <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="MAUI_IronXL.MainPage"> <ScrollView> <VerticalStackLayout Spacing="25" Padding="30,0" VerticalOptions="Center"> <Label Text="Welcome to .NET Multi-platform App UI" SemanticProperties.HeadingLevel="Level2" SemanticProperties.Description="Welcome Multi-platform App UI" FontSize="18" HorizontalOptions="Center" /> <Button x:Name="createBtn" Text="Create Excel File" SemanticProperties.Hint="Click on the button to create Excel file" Clicked="CreateExcel" HorizontalOptions="Center" /> <Button x:Name="readExcel" Text="Read and Modify Excel file" SemanticProperties.Hint="Click on the button to read Excel file" Clicked="ReadExcel" HorizontalOptions="Center" /> </VerticalStackLayout> </ScrollView> </ContentPage> <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="MAUI_IronXL.MainPage"> <ScrollView> <VerticalStackLayout Spacing="25" Padding="30,0" VerticalOptions="Center"> <Label Text="Welcome to .NET Multi-platform App UI" SemanticProperties.HeadingLevel="Level2" SemanticProperties.Description="Welcome Multi-platform App UI" FontSize="18" HorizontalOptions="Center" /> <Button x:Name="createBtn" Text="Create Excel File" SemanticProperties.Hint="Click on the button to create Excel file" Clicked="CreateExcel" HorizontalOptions="Center" /> <Button x:Name="readExcel" Text="Read and Modify Excel file" SemanticProperties.Hint="Click on the button to read Excel file" Clicked="ReadExcel" HorizontalOptions="Center" /> </VerticalStackLayout> </ScrollView> </ContentPage> XML 上面的代码创建了我们基本的 .NET MAUI 应用程序的布局。 它会创建一个标签和两个按钮。 一个按钮用于创建 Excel 文件,另一个按钮用于读取和修改 Excel 文件。这两个元素都嵌套在 VerticalStackLayout 父元素中,以便在所有支持的设备上垂直对齐显示。 创建 Excel 文件 现在是时候使用 IronXL 创建 Excel 文件了。 打开MainPage.xaml.cs文件,并在文件中编写以下方法。 private void CreateExcel(object sender, EventArgs e) { // Create a new Workbook WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); // Create a Worksheet var sheet = workbook.CreateWorkSheet("2022 Budget"); // Set cell headers sheet["A1"].Value = "January"; sheet["B1"].Value = "February"; sheet["C1"].Value = "March"; sheet["D1"].Value = "April"; sheet["E1"].Value = "May"; sheet["F1"].Value = "June"; sheet["G1"].Value = "July"; sheet["H1"].Value = "August"; // Fill worksheet cells with random values Random r = new Random(); for (int i = 2; i <= 11; i++) { sheet["A" + i].Value = r.Next(1, 1000); sheet["B" + i].Value = r.Next(1000, 2000); sheet["C" + i].Value = r.Next(2000, 3000); sheet["D" + i].Value = r.Next(3000, 4000); sheet["E" + i].Value = r.Next(4000, 5000); sheet["F" + i].Value = r.Next(5000, 6000); sheet["G" + i].Value = r.Next(6000, 7000); sheet["H" + i].Value = r.Next(7000, 8000); } // Apply formatting (background and border) sheet["A1:H1"].Style.SetBackgroundColor("#d3d3d3"); sheet["A1:H1"].Style.TopBorder.SetColor("#000000"); sheet["A1:H1"].Style.BottomBorder.SetColor("#000000"); sheet["H2:H11"].Style.RightBorder.SetColor("#000000"); sheet["H2:H11"].Style.RightBorder.Type = IronXL.Styles.BorderType.Medium; sheet["A11:H11"].Style.BottomBorder.SetColor("#000000"); sheet["A11:H11"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Medium; // Apply formulas decimal sum = sheet["A2:A11"].Sum(); decimal avg = sheet["B2:B11"].Avg(); decimal max = sheet["C2:C11"].Max(); decimal min = sheet["D2:D11"].Min(); sheet["A12"].Value = "Sum"; sheet["B12"].Value = sum; sheet["C12"].Value = "Avg"; sheet["D12"].Value = avg; sheet["E12"].Value = "Max"; sheet["F12"].Value = max; sheet["G12"].Value = "Min"; sheet["H12"].Value = min; // Save and open the Excel file SaveService saveService = new SaveService(); saveService.SaveAndView("Budget.xlsx", "application/octet-stream", workbook.ToStream()); } private void CreateExcel(object sender, EventArgs e) { // Create a new Workbook WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); // Create a Worksheet var sheet = workbook.CreateWorkSheet("2022 Budget"); // Set cell headers sheet["A1"].Value = "January"; sheet["B1"].Value = "February"; sheet["C1"].Value = "March"; sheet["D1"].Value = "April"; sheet["E1"].Value = "May"; sheet["F1"].Value = "June"; sheet["G1"].Value = "July"; sheet["H1"].Value = "August"; // Fill worksheet cells with random values Random r = new Random(); for (int i = 2; i <= 11; i++) { sheet["A" + i].Value = r.Next(1, 1000); sheet["B" + i].Value = r.Next(1000, 2000); sheet["C" + i].Value = r.Next(2000, 3000); sheet["D" + i].Value = r.Next(3000, 4000); sheet["E" + i].Value = r.Next(4000, 5000); sheet["F" + i].Value = r.Next(5000, 6000); sheet["G" + i].Value = r.Next(6000, 7000); sheet["H" + i].Value = r.Next(7000, 8000); } // Apply formatting (background and border) sheet["A1:H1"].Style.SetBackgroundColor("#d3d3d3"); sheet["A1:H1"].Style.TopBorder.SetColor("#000000"); sheet["A1:H1"].Style.BottomBorder.SetColor("#000000"); sheet["H2:H11"].Style.RightBorder.SetColor("#000000"); sheet["H2:H11"].Style.RightBorder.Type = IronXL.Styles.BorderType.Medium; sheet["A11:H11"].Style.BottomBorder.SetColor("#000000"); sheet["A11:H11"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Medium; // Apply formulas decimal sum = sheet["A2:A11"].Sum(); decimal avg = sheet["B2:B11"].Avg(); decimal max = sheet["C2:C11"].Max(); decimal min = sheet["D2:D11"].Min(); sheet["A12"].Value = "Sum"; sheet["B12"].Value = sum; sheet["C12"].Value = "Avg"; sheet["D12"].Value = avg; sheet["E12"].Value = "Max"; sheet["F12"].Value = max; sheet["G12"].Value = "Min"; sheet["H12"].Value = min; // Save and open the Excel file SaveService saveService = new SaveService(); saveService.SaveAndView("Budget.xlsx", "application/octet-stream", workbook.ToStream()); } Private Sub CreateExcel(ByVal sender As Object, ByVal e As EventArgs) ' Create a new Workbook Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) ' Create a Worksheet Dim sheet = workbook.CreateWorkSheet("2022 Budget") ' Set cell headers sheet("A1").Value = "January" sheet("B1").Value = "February" sheet("C1").Value = "March" sheet("D1").Value = "April" sheet("E1").Value = "May" sheet("F1").Value = "June" sheet("G1").Value = "July" sheet("H1").Value = "August" ' Fill worksheet cells with random values Dim r As New Random() For i As Integer = 2 To 11 sheet("A" & i).Value = r.Next(1, 1000) sheet("B" & i).Value = r.Next(1000, 2000) sheet("C" & i).Value = r.Next(2000, 3000) sheet("D" & i).Value = r.Next(3000, 4000) sheet("E" & i).Value = r.Next(4000, 5000) sheet("F" & i).Value = r.Next(5000, 6000) sheet("G" & i).Value = r.Next(6000, 7000) sheet("H" & i).Value = r.Next(7000, 8000) Next i ' Apply formatting (background and border) sheet("A1:H1").Style.SetBackgroundColor("#d3d3d3") sheet("A1:H1").Style.TopBorder.SetColor("#000000") sheet("A1:H1").Style.BottomBorder.SetColor("#000000") sheet("H2:H11").Style.RightBorder.SetColor("#000000") sheet("H2:H11").Style.RightBorder.Type = IronXL.Styles.BorderType.Medium sheet("A11:H11").Style.BottomBorder.SetColor("#000000") sheet("A11:H11").Style.BottomBorder.Type = IronXL.Styles.BorderType.Medium ' Apply formulas Dim sum As Decimal = sheet("A2:A11").Sum() Dim avg As Decimal = sheet("B2:B11").Avg() Dim max As Decimal = sheet("C2:C11").Max() Dim min As Decimal = sheet("D2:D11").Min() sheet("A12").Value = "Sum" sheet("B12").Value = sum sheet("C12").Value = "Avg" sheet("D12").Value = avg sheet("E12").Value = "Max" sheet("F12").Value = max sheet("G12").Value = "Min" sheet("H12").Value = min ' Save and open the Excel file Dim saveService As New SaveService() saveService.SaveAndView("Budget.xlsx", "application/octet-stream", workbook.ToStream()) End Sub $vbLabelText $csharpLabel 这段源代码使用 IronXL 创建工作簿和工作表,设置单元格值,并设置单元格格式。 它还演示了如何将 Excel 公式与 IronXL 结合使用。 在浏览器中查看 Excel 文件 打开MainPage.xaml.cs文件并写入以下代码。 private void ReadExcel(object sender, EventArgs e) { // Store the path of the file string filepath = @"C:\Files\Customer Data.xlsx"; WorkBook workbook = WorkBook.Load(filepath); WorkSheet sheet = workbook.WorkSheets.First(); // Calculate the sum of a range decimal sum = sheet["B2:B10"].Sum(); // Modify a cell value and apply styles sheet["B11"].Value = sum; sheet["B11"].Style.SetBackgroundColor("#808080"); sheet["B11"].Style.Font.SetColor("#ffffff"); // Save and open the Excel file SaveService saveService = new SaveService(); saveService.SaveAndView("Modified Data.xlsx", "application/octet-stream", workbook.ToStream()); DisplayAlert("Notification", "Excel file has been modified!", "OK"); } private void ReadExcel(object sender, EventArgs e) { // Store the path of the file string filepath = @"C:\Files\Customer Data.xlsx"; WorkBook workbook = WorkBook.Load(filepath); WorkSheet sheet = workbook.WorkSheets.First(); // Calculate the sum of a range decimal sum = sheet["B2:B10"].Sum(); // Modify a cell value and apply styles sheet["B11"].Value = sum; sheet["B11"].Style.SetBackgroundColor("#808080"); sheet["B11"].Style.Font.SetColor("#ffffff"); // Save and open the Excel file SaveService saveService = new SaveService(); saveService.SaveAndView("Modified Data.xlsx", "application/octet-stream", workbook.ToStream()); DisplayAlert("Notification", "Excel file has been modified!", "OK"); } Private Sub ReadExcel(ByVal sender As Object, ByVal e As EventArgs) ' Store the path of the file Dim filepath As String = "C:\Files\Customer Data.xlsx" Dim workbook As WorkBook = WorkBook.Load(filepath) Dim sheet As WorkSheet = workbook.WorkSheets.First() ' Calculate the sum of a range Dim sum As Decimal = sheet("B2:B10").Sum() ' Modify a cell value and apply styles sheet("B11").Value = sum sheet("B11").Style.SetBackgroundColor("#808080") sheet("B11").Style.Font.SetColor("#ffffff") ' Save and open the Excel file Dim saveService As New SaveService() saveService.SaveAndView("Modified Data.xlsx", "application/octet-stream", workbook.ToStream()) DisplayAlert("Notification", "Excel file has been modified!", "OK") End Sub $vbLabelText $csharpLabel 源代码加载 Excel 文件,对一系列单元格应用公式,并使用自定义背景和文本颜色对其进行格式化。 之后,修改后的 Excel 文件将被保存,并显示通知。 保存 Excel 文件 在本节中,我们将定义SaveService类,该类会将我们的 Excel 文件保存到本地存储中。 创建一个名为"SaveService.cs"的类,并编写以下代码: using System; using System.IO; namespace MAUI_IronXL { public partial class SaveService { public partial void SaveAndView(string fileName, string contentType, MemoryStream stream); } } using System; using System.IO; namespace MAUI_IronXL { public partial class SaveService { public partial void SaveAndView(string fileName, string contentType, MemoryStream stream); } } Imports System Imports System.IO Namespace MAUI_IronXL Partial Public Class SaveService Public Partial Private Sub SaveAndView(ByVal fileName As String, ByVal contentType As String, ByVal stream As MemoryStream) End Sub End Class End Namespace $vbLabelText $csharpLabel 接下来,在 Platforms > Windows 文件夹内创建一个名为"SaveWindows.cs"的类,并添加以下代码: using System; using System.Collections.Generic; using System.IO; using System.Runtime.InteropServices.WindowsRuntime; using Windows.Storage; using Windows.Storage.Pickers; using Windows.Storage.Streams; using Windows.UI.Popups; namespace MAUI_IronXL { public partial class SaveService { public async partial void SaveAndView(string fileName, string contentType, MemoryStream stream) { StorageFile stFile; string extension = Path.GetExtension(fileName); IntPtr windowHandle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle; if (!Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")) { FileSavePicker savePicker = new FileSavePicker(); savePicker.DefaultFileExtension = ".xlsx"; savePicker.SuggestedFileName = fileName; savePicker.FileTypeChoices.Add("XLSX", new List<string> { ".xlsx" }); WinRT.Interop.InitializeWithWindow.Initialize(savePicker, windowHandle); stFile = await savePicker.PickSaveFileAsync(); } else { StorageFolder local = ApplicationData.Current.LocalFolder; stFile = await local.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting); } if (stFile != null) { using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite)) { using (Stream outputStream = zipStream.AsStreamForWrite()) { outputStream.SetLength(0); stream.WriteTo(outputStream); await outputStream.FlushAsync(); } } MessageDialog msgDialog = new("Do you want to view the document?", "File has been created successfully"); UICommand yesCmd = new("Yes"); msgDialog.Commands.Add(yesCmd); UICommand noCmd = new("No"); msgDialog.Commands.Add(noCmd); WinRT.Interop.InitializeWithWindow.Initialize(msgDialog, windowHandle); IUICommand cmd = await msgDialog.ShowAsync(); if (cmd.Label == yesCmd.Label) { await Windows.System.Launcher.LaunchFileAsync(stFile); } } } } } using System; using System.Collections.Generic; using System.IO; using System.Runtime.InteropServices.WindowsRuntime; using Windows.Storage; using Windows.Storage.Pickers; using Windows.Storage.Streams; using Windows.UI.Popups; namespace MAUI_IronXL { public partial class SaveService { public async partial void SaveAndView(string fileName, string contentType, MemoryStream stream) { StorageFile stFile; string extension = Path.GetExtension(fileName); IntPtr windowHandle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle; if (!Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")) { FileSavePicker savePicker = new FileSavePicker(); savePicker.DefaultFileExtension = ".xlsx"; savePicker.SuggestedFileName = fileName; savePicker.FileTypeChoices.Add("XLSX", new List<string> { ".xlsx" }); WinRT.Interop.InitializeWithWindow.Initialize(savePicker, windowHandle); stFile = await savePicker.PickSaveFileAsync(); } else { StorageFolder local = ApplicationData.Current.LocalFolder; stFile = await local.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting); } if (stFile != null) { using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite)) { using (Stream outputStream = zipStream.AsStreamForWrite()) { outputStream.SetLength(0); stream.WriteTo(outputStream); await outputStream.FlushAsync(); } } MessageDialog msgDialog = new("Do you want to view the document?", "File has been created successfully"); UICommand yesCmd = new("Yes"); msgDialog.Commands.Add(yesCmd); UICommand noCmd = new("No"); msgDialog.Commands.Add(noCmd); WinRT.Interop.InitializeWithWindow.Initialize(msgDialog, windowHandle); IUICommand cmd = await msgDialog.ShowAsync(); if (cmd.Label == yesCmd.Label) { await Windows.System.Launcher.LaunchFileAsync(stFile); } } } } } Imports System Imports System.Collections.Generic Imports System.IO Imports System.Runtime.InteropServices.WindowsRuntime Imports Windows.Storage Imports Windows.Storage.Pickers Imports Windows.Storage.Streams Imports Windows.UI.Popups Namespace MAUI_IronXL Partial Public Class SaveService Public Async Sub SaveAndView(ByVal fileName As String, ByVal contentType As String, ByVal stream As MemoryStream) Dim stFile As StorageFile Dim extension As String = Path.GetExtension(fileName) Dim windowHandle As IntPtr = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle If Not Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons") Then Dim savePicker As New FileSavePicker() savePicker.DefaultFileExtension = ".xlsx" savePicker.SuggestedFileName = fileName savePicker.FileTypeChoices.Add("XLSX", New List(Of String) From {".xlsx"}) WinRT.Interop.InitializeWithWindow.Initialize(savePicker, windowHandle) stFile = Await savePicker.PickSaveFileAsync() Else Dim local As StorageFolder = ApplicationData.Current.LocalFolder stFile = Await local.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting) End If If stFile IsNot Nothing Then Using zipStream As IRandomAccessStream = Await stFile.OpenAsync(FileAccessMode.ReadWrite) Using outputStream As Stream = zipStream.AsStreamForWrite() outputStream.SetLength(0) stream.WriteTo(outputStream) Await outputStream.FlushAsync() End Using End Using Dim msgDialog As New MessageDialog("Do you want to view the document?", "File has been created successfully") Dim yesCmd As New UICommand("Yes") msgDialog.Commands.Add(yesCmd) Dim noCmd As New UICommand("No") msgDialog.Commands.Add(noCmd) WinRT.Interop.InitializeWithWindow.Initialize(msgDialog, windowHandle) Dim cmd As IUICommand = Await msgDialog.ShowAsync() If cmd.Label = yesCmd.Label Then Await Windows.System.Launcher.LaunchFileAsync(stFile) End If End If End Sub End Class End Namespace $vbLabelText $csharpLabel 输出 构建并运行 MAUI 项目。 执行成功后,将打开一个窗口,显示下图所示的内容。 图 1 -输出 点击"创建 Excel 文件"按钮将打开一个单独的对话框窗口。 此窗口提示用户选择保存新生成的 Excel 文件的位置和文件名。请按照指示指定位置和文件名,然后单击"确定"。 之后,会弹出另一个对话框。 图 2 -创建 Excel 弹出窗口 按照弹出窗口中的指示打开 Excel 文件,将显示如下屏幕截图所示的文档。 图 3 -读取和修改 Excel 弹出窗口 点击"读取和修改 Excel 文件"按钮,将加载先前生成的 Excel 文件,并使用我们在前面章节中定义的自定义背景和文本颜色对其进行修改。 图 4 - Excel 输出 打开修改后的文件后,您将看到以下带有目录的输出。 图 5 -修改后的 Excel 输出 结论 本文解释了如何使用 IronXL 库在 .NET MAUI 应用程序中创建、读取和修改 Excel 文件。 IronXL性能优异,能够快速准确地完成所有操作。 IronXL 是一个优秀的 Excel 操作库,性能优于 Microsoft Interop,因为它无需在计算机上安装 Microsoft Office 套件。此外,IronXL 支持多种操作,例如创建工作簿和工作表、处理单元格区域、设置格式以及导出为 CSV、TSV 等多种文档格式。 IronXL 支持所有项目模板,例如 Windows Form、WPF、ASP.NET Core 等。 有关如何使用 IronXL 的更多信息,请参阅我们关于创建 Excel 文件和读取 Excel 文件的教程。 快速访问链接 在 GitHub 上查看这份操作指南。 本项目的源代码可在 GitHub 上获取。 使用此代码,您可以在几分钟内轻松启动并运行项目。该项目保存为 Microsoft Visual Studio 2022 项目,但与任何 .NET IDE 兼容。 如何在 .NET MAUI 应用程序中读取、创建和编辑 Excel 文件 查看 API 参考 探索 IronXL 的 API 参考,其中概述了 IronXL 的所有功能、命名空间、类、方法、字段和枚举的详细信息。 查看 API 参考 常见问题解答 如何在 .NET MAUI 应用程序中创建 Excel 文件? 要在 .NET MAUI 项目中创建 Excel 文件,请使用 IronXL 库初始化新的工作簿和工作表。然后可以设置单元格值、应用 Excel 公式,并在使用自定义 SaveService 类保存文件之前自定义格式。 我可以在 .NET MAUI 应用程序中读取现有的 Excel 文件吗? 是的,您可以使用 IronXL 在 .NET MAUI 应用程序中加载和读取现有的 Excel 文件。该库允许您访问和修改单元格值、应用公式并实现自定义格式。 使用 IronXL 在 .NET MAUI 中进行 Excel 文件操作有什么好处? IronXL 提供了一个独立的解决方案,用于在 .NET MAUI 中进行 Excel 文件操作,消除了对 Microsoft Office 或 Interop 的需求。它支持高效地创建、读取和编辑 Excel 文件,并可以导出为 CSV 和 TSV 等多种格式。 如何在我的 .NET MAUI 项目中安装 IronXL? 您可以通过在 Visual Studio 中使用 NuGet 包管理器控制台安装 IronXL。在您的项目中添加库执行以下命令:Install-Package IronXL.Excel。 在 .NET MAUI 中可以编程地格式化 Excel 单元格吗? 是的,使用 IronXL,您可以在 .NET MAUI 中以编程方式格式化 Excel 单元格。这包括设置单元格样式、颜色和应用各种格式选项以增强 Excel 文件的外观。 如何在我的 .NET MAUI 应用程序中实现一个 SaveService 类来处理 Excel 文件? 要在 .NET MAUI 中实现一个 SaveService 类,您可以创建一个利用 IronXL 功能的类来处理将 Excel 文件保存到本地存储。这涉及定义用于指定文件路径和管理文件 I/O 操作的方法。 IronXL 支持 .NET 应用程序中的哪些项目模板? IronXL 支持多种 .NET 项目模板,包括 Windows Forms、WPF、ASP.NET Core 等,为从事不同应用程序开发的开发人员提供灵活性。 我在哪里可以找到 .NET MAUI Excel 项目的源代码? .NET MAUI Excel 项目使用 IronXL 的源代码在 GitHub 上可用。这使开发人员能够快速设置并在其应用程序中使用 Visual Studio 2022 进行 Excel 文件操作实验。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 准备开始了吗? Nuget 下载 1,738,553 | Version: 2025.11 刚刚发布 免费 NuGet 下载 总下载量:1,738,553 查看许可证