使用 IRONXL C# CSV 文件读取器:使用IronXL解析和处理 CSV 数据 Curtis Chau 已更新:2026年2月27日 下载 IronXL NuGet 下载 DLL 下载 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 CSV(逗号分隔值)文件在商业应用程序中无处不在,从财务报告到客户数据导出,无所不包。 CSV 格式表面上看起来很简单,但在生产代码中解析它时,如果处理带引号的字段、多种分隔符类型、嵌入式换行符以及需要将原始文本转换为强类型的.NET对象,就会很快变得困难。 IronXL是一个.NET库,提供企业级 CSV 处理功能,允许开发人员使用最少的代码将 CSV 数据转换为 Excel、XML 或其他格式。 本指南将带您了解IronXL如何作为 C# CSV 文件读取器工作,以及如何在.NET 10 应用程序中实现它。 使用免费试用许可证亲自体验IronXL ,并跟随教程了解它是如何处理 CSV 和 Excel 任务的。 如何安装IronXL以读取 CSV 文件? 将IronXL集成到您的项目中只需片刻。 您可以通过 Visual Studio 中的NuGet包管理器安装它,也可以通过命令行使用.NET CLI 或 PowerShell 中的NuGet包管理器控制台进行安装。 两种方法都会安装相同的软件包,并且适用于任何.NET 10 项目类型。 # .NET CLI dotnet add package IronXl.Excel # NuGet Package Manager Console Install-Package IronXl.Excel # .NET CLI dotnet add package IronXl.Excel # NuGet Package Manager Console Install-Package IronXl.Excel SHELL 有关安装选项和配置的更多详细信息,请参阅IronXL安装文档。 安装完成后,读取第一个 CSV 文件只需要很少的代码。 以下示例使用.NET 10 顶级语句: using IronXL; // Load CSV file WorkBook workbook = WorkBook.LoadCSV("data.csv"); WorkSheet sheet = workbook.DefaultWorkSheet; // Read a specific cell string cellValue = sheet["A1"].StringValue; // Iterate through all rows and cells foreach (var row in sheet.Rows) { foreach (var cell in row) { Console.WriteLine(cell.StringValue); } } using IronXL; // Load CSV file WorkBook workbook = WorkBook.LoadCSV("data.csv"); WorkSheet sheet = workbook.DefaultWorkSheet; // Read a specific cell string cellValue = sheet["A1"].StringValue; // Iterate through all rows and cells foreach (var row in sheet.Rows) { foreach (var cell in row) { Console.WriteLine(cell.StringValue); } } $vbLabelText $csharpLabel WorkBook.LoadCSV方法处理标头识别、创建内部数据结构并执行内存高效的解析,从而从第一行代码开始简化您的数据管理。 如何读取带有自定义分隔符的CSV文件? 实际的 CSV 文件并不总是使用逗号。 分号、竖线和制表符是常见的替代符号,尤其是在逗号用作小数分隔符的国际数据集中。 IronXL通过其灵活的加载选项处理任何分隔符。 using IronXL; // Load CSV with semicolon delimiter (common in European data exports) WorkBook workbook = WorkBook.LoadCSV("european-data.csv", fileFormat: ExcelFileFormat.XLSX, list分隔符: ";"); // Load tab-separated values (TSV) WorkBook tsvWorkbook = WorkBook.LoadCSV("export_data.tsv", fileFormat: ExcelFileFormat.XLSX, list分隔符: "\t"); // Load pipe-delimited file WorkBook pipeWorkbook = WorkBook.LoadCSV("log_export.csv", fileFormat: ExcelFileFormat.XLSX, list分隔符: "|"); // Access data normally after loading WorkSheet sheet = workbook.DefaultWorkSheet; decimal totalSales = sheet["B2:B10"].Sum(); Console.WriteLine($"Total sales: {totalSales}"); using IronXL; // Load CSV with semicolon delimiter (common in European data exports) WorkBook workbook = WorkBook.LoadCSV("european-data.csv", fileFormat: ExcelFileFormat.XLSX, list分隔符: ";"); // Load tab-separated values (TSV) WorkBook tsvWorkbook = WorkBook.LoadCSV("export_data.tsv", fileFormat: ExcelFileFormat.XLSX, list分隔符: "\t"); // Load pipe-delimited file WorkBook pipeWorkbook = WorkBook.LoadCSV("log_export.csv", fileFormat: ExcelFileFormat.XLSX, list分隔符: "|"); // Access data normally after loading WorkSheet sheet = workbook.DefaultWorkSheet; decimal totalSales = sheet["B2:B10"].Sum(); Console.WriteLine($"Total sales: {totalSales}"); $vbLabelText $csharpLabel list分隔符 参数接受任何字符串,让您可以完全控制解析行为。 IronXL在解析过程中保留列值和数据类型——数值仍然是数字,日期仍然是 DateTime 对象,公式保持其关系。 对于格式不一致的文件,IronXL 的错误处理机制可以管理格式错误的行,而不会导致应用程序崩溃,因此即使个别行存在问题,有效数据也能继续得到处理。 支持的文件格式和分隔符 IronXL在读取 CSV 文件时支持加载以下分隔符类型: IronXL 的 LoadCSV 方法支持的常用分隔符类型 分隔符 特点 常见用例 逗号 `,` 标准 CSV,美国地区导出 分号 `;` 欧洲本地化导出(其中逗号为小数分隔符) 标签页 `\t` 制表符分隔值 (TSV) 数据库导出 管道 `|` 日志文件、系统导出 自定义字符串 任何 专有数据格式,多字符分隔符 如何将 CSV 数据解析为 C# 对象? 将 CSV 行转换为强类型对象可以简化数据处理并支持 LINQ 操作。 IronXL通过其蜂窝接入方法使这种映射变得简单。 以下代码演示了如何使用.NET 10 顶级语句将 CSV 文件映射到类型化对象列表: using IronXL; // Define a typed model matching your CSV structure public record Product(string Name, decimal Price, int Stock, DateTime? LastUpdated); // Load and parse CSV file WorkBook workbook = WorkBook.LoadCSV("inventory.csv"); WorkSheet sheet = workbook.DefaultWorkSheet; var products = new List<Product>(); // Start from row 2 to skip the header row for (int row = 2; row <= sheet.RowCount; row++) { products.Add(new Product( Name: sheet[$"A{row}"].StringValue, Price: sheet[$"B{row}"].DecimalValue, Stock: sheet[$"C{row}"].IntValue, LastUpdated: sheet[$"D{row}"].DateTimeValue )); } // Use LINQ for analysis after loading var lowStock = products.Where(p => p.Stock < 10).ToList(); var highValue = products.Where(p => p.Price > 100m).OrderByDescending(p => p.Price).ToList(); Console.WriteLine($"Products with low stock: {lowStock.Count}"); Console.WriteLine($"High-value products: {highValue.Count}"); using IronXL; // Define a typed model matching your CSV structure public record Product(string Name, decimal Price, int Stock, DateTime? LastUpdated); // Load and parse CSV file WorkBook workbook = WorkBook.LoadCSV("inventory.csv"); WorkSheet sheet = workbook.DefaultWorkSheet; var products = new List<Product>(); // Start from row 2 to skip the header row for (int row = 2; row <= sheet.RowCount; row++) { products.Add(new Product( Name: sheet[$"A{row}"].StringValue, Price: sheet[$"B{row}"].DecimalValue, Stock: sheet[$"C{row}"].IntValue, LastUpdated: sheet[$"D{row}"].DateTimeValue )); } // Use LINQ for analysis after loading var lowStock = products.Where(p => p.Stock < 10).ToList(); var highValue = products.Where(p => p.Price > 100m).OrderByDescending(p => p.Price).ToList(); Console.WriteLine($"Products with low stock: {lowStock.Count}"); Console.WriteLine($"High-value products: {highValue.Count}"); $vbLabelText $csharpLabel IronXL 的类型化值属性 -- StringValue, DecimalValue, IntValue, DateTimeValue -- 安全地处理转换,为无效数据返回默认值,而不是抛出异常。 这种防御性方法确保应用程序能够处理不完美的数据而不会中断运行。 它与C# 记录类型自然搭配,C# 记录类型是在 C# 9 中引入的,它为映射的 CSV 行提供了一个简洁、不可变的数据模型。 IronXL功能页面提供了可用于读取单元格数据的值访问器类型的完整概述。 如何使用 LINQ 筛选和查询 CSV 数据? 将 CSV 数据加载到 WorkSheet 后,您可以使用范围选择器对其进行操作,或将其转换为对象以进行 LINQ 查询。 对于简单的列操作,基于范围的访问是最直接的方法: using IronXL; WorkBook workbook = WorkBook.LoadCSV("sales-data.csv"); WorkSheet sheet = workbook.DefaultWorkSheet; // Read entire columns using range notation var productNames = sheet["A2:A100"] .Select(cell => cell.StringValue) .Where(name => !string.IsNullOrEmpty(name)) .ToList(); // Aggregate numeric columns directly decimal totalRevenue = sheet["C2:C100"].Sum(); decimal averageOrder = sheet["C2:C100"].Avg(); Console.WriteLine($"Products loaded: {productNames.Count}"); Console.WriteLine($"Total revenue: {totalRevenue:C}"); Console.WriteLine($"Average order value: {averageOrder:C}"); using IronXL; WorkBook workbook = WorkBook.LoadCSV("sales-data.csv"); WorkSheet sheet = workbook.DefaultWorkSheet; // Read entire columns using range notation var productNames = sheet["A2:A100"] .Select(cell => cell.StringValue) .Where(name => !string.IsNullOrEmpty(name)) .ToList(); // Aggregate numeric columns directly decimal totalRevenue = sheet["C2:C100"].Sum(); decimal averageOrder = sheet["C2:C100"].Avg(); Console.WriteLine($"Products loaded: {productNames.Count}"); Console.WriteLine($"Total revenue: {totalRevenue:C}"); Console.WriteLine($"Average order value: {averageOrder:C}"); $vbLabelText $csharpLabel 这种基于范围的方法避免了对简单聚合进行逐行迭代,从而提高了处理较大文件的性能。 有关支持的范围操作的完整列表,请参阅IronXL文档。 如何在C#中将CSV文件转换为Excel格式? 许多业务流程需要将 CSV 数据转换为 Excel 格式,以便进行高级分析、格式化或分发。 IronXL使这种转换变得简单,同时还能保持所有数据的完整性。 using IronXL; // Load CSV file WorkBook csvWorkbook = WorkBook.LoadCSV("monthly-report.csv"); WorkSheet sheet = csvWorkbook.DefaultWorkSheet; // Apply formatting before saving sheet["A1:D1"].Style.Font.Bold = true; sheet["A1:D1"].Style.BackgroundColor = "#4472C4"; sheet["A1:D1"].Style.Font.Color = "#FFFFFF"; // Apply currency format to price column sheet["B2:B1000"].FormatString = "$#,##0.00"; // Apply date format to date column sheet["D2:D1000"].FormatString = "yyyy-MM-dd"; // Save as Excel with a single method call csvWorkbook.SaveAs("monthly-report.xlsx"); Console.WriteLine("Conversion complete: monthly-report.xlsx"); using IronXL; // Load CSV file WorkBook csvWorkbook = WorkBook.LoadCSV("monthly-report.csv"); WorkSheet sheet = csvWorkbook.DefaultWorkSheet; // Apply formatting before saving sheet["A1:D1"].Style.Font.Bold = true; sheet["A1:D1"].Style.BackgroundColor = "#4472C4"; sheet["A1:D1"].Style.Font.Color = "#FFFFFF"; // Apply currency format to price column sheet["B2:B1000"].FormatString = "$#,##0.00"; // Apply date format to date column sheet["D2:D1000"].FormatString = "yyyy-MM-dd"; // Save as Excel with a single method call csvWorkbook.SaveAs("monthly-report.xlsx"); Console.WriteLine("Conversion complete: monthly-report.xlsx"); $vbLabelText $csharpLabel 转换过程中保留了数值精度、日期格式和特殊字符,而这些内容通常会在手动转换方法中造成问题。 IronXL 会自动优化生成的 Excel 文件结构,创建高效的文件,即使包含大型数据集也能快速打开。 为了更好地控制输出格式,导出操作指南涵盖了 XLSX、XLS、CSV 和 PDF 导出等选项。 您还可以学习如何编写 Excel 文件以及如何从头开始创建 Excel 文件。 将 CSV 转换为数据库操作所需的数据集 当您需要将 CSV 数据加载到 DataSet 中以进行进一步处理或数据库插入时, IronXL提供直接转换支持。 《 Excel转数据集指南》对此有详细解释: using IronXL; using System.Data; WorkBook workbook = WorkBook.LoadCSV("customer-export.csv"); // Convert entire workbook to DataSet DataSet dataSet = workbook.ToDataSet(); // The first sheet becomes the first Data标签页le Data标签页le customer标签页le = dataSet.标签页les[0]; Console.WriteLine($"Rows loaded: {customer标签页le.Rows.Count}"); Console.WriteLine($"Columns: {customer标签页le.Columns.Count}"); // Process with standard ADO.NET foreach (DataRow row in customer标签页le.Rows) { string name = row["Name"]?.ToString() ?? string.Empty; string email = row["Email"]?.ToString() ?? string.Empty; Console.WriteLine($"Customer: {name} <{email}>"); } using IronXL; using System.Data; WorkBook workbook = WorkBook.LoadCSV("customer-export.csv"); // Convert entire workbook to DataSet DataSet dataSet = workbook.ToDataSet(); // The first sheet becomes the first Data标签页le Data标签页le customer标签页le = dataSet.标签页les[0]; Console.WriteLine($"Rows loaded: {customer标签页le.Rows.Count}"); Console.WriteLine($"Columns: {customer标签页le.Columns.Count}"); // Process with standard ADO.NET foreach (DataRow row in customer标签页le.Rows) { string name = row["Name"]?.ToString() ?? string.Empty; string email = row["Email"]?.ToString() ?? string.Empty; Console.WriteLine($"Customer: {name} <{email}>"); } $vbLabelText $csharpLabel 这种方法可以直接与.NET工作流集成,并且在通过标准数据适配器将 CSV 数据推送到 SQL Server、SQLite 或其他关系数据库时非常有用。 因为 DataSet 和 Data标签页le 是.NET核心类型,所以除了IronXL本身之外,此路径不需要任何其他依赖项。 如何处理大型 CSV 文件并进行性能优化? 处理大型 CSV 文件(数万行或更多)需要注意数据的访问方式和内存管理方式。 IronXL包含有助于处理大文件场景的功能。 利用范围运算提升性能 为了获得处理大型数据集的最佳性能,请使用范围操作而不是逐个访问单个单元格。IronXL 的内部引擎可以更高效地处理范围操作: using IronXL; WorkBook workbook = WorkBook.LoadCSV("large-dataset.csv"); WorkSheet sheet = workbook.DefaultWorkSheet; int rowCount = sheet.RowCount; int colCount = sheet.ColumnCount; Console.WriteLine($"Dataset dimensions: {rowCount} rows x {colCount} columns"); // Efficient: read entire range at once var allData = sheet[$"A1:{GetColumnLetter(colCount)}{rowCount}"] .Select(cell => cell.StringValue) .ToList(); // Efficient: aggregate a column without row-by-row iteration decimal columnSum = sheet[$"B2:B{rowCount}"].Sum(); Console.WriteLine($"Column B total: {columnSum}"); static string GetColumnLetter(int col) { string result = string.Empty; while (col > 0) { col--; result = (char)('A' + col % 26) + result; col /= 26; } return result; } using IronXL; WorkBook workbook = WorkBook.LoadCSV("large-dataset.csv"); WorkSheet sheet = workbook.DefaultWorkSheet; int rowCount = sheet.RowCount; int colCount = sheet.ColumnCount; Console.WriteLine($"Dataset dimensions: {rowCount} rows x {colCount} columns"); // Efficient: read entire range at once var allData = sheet[$"A1:{GetColumnLetter(colCount)}{rowCount}"] .Select(cell => cell.StringValue) .ToList(); // Efficient: aggregate a column without row-by-row iteration decimal columnSum = sheet[$"B2:B{rowCount}"].Sum(); Console.WriteLine($"Column B total: {columnSum}"); static string GetColumnLetter(int col) { string result = string.Empty; while (col > 0) { col--; result = (char)('A' + col % 26) + result; col /= 26; } return result; } $vbLabelText $csharpLabel IronXL在加载 CSV 文件时会自动处理文本编码变体( UTF-8、UTF-16、ASCII ),确保列值中的国际字符无需额外配置即可正确显示。 对于从 UTF-8 BOM 或其他编码常见的地区系统导出的文件而言,这一点尤为重要。 针对不受信任的 CSV 源的错误处理 在处理来自不可信或不稳定来源的 CSV 文件时,将操作包装在 try-catch 块中可以提供额外的安全保障: using IronXL; string filePath = "user-uploaded-data.csv"; try { WorkBook workbook = WorkBook.LoadCSV(filePath); WorkSheet sheet = workbook.DefaultWorkSheet; Console.WriteLine($"Loaded {sheet.RowCount} rows from {filePath}"); for (int row = 2; row <= sheet.RowCount; row++) { string value = sheet[$"A{row}"].StringValue; if (!string.IsNullOrWhiteSpace(value)) { Console.WriteLine(value); } } } catch (IronXl.Exceptions.IronXLException ex) { Console.WriteLine($"IronXL error reading {filePath}: {ex.Message}"); } catch (IOException ex) { Console.WriteLine($"File access error: {ex.Message}"); } using IronXL; string filePath = "user-uploaded-data.csv"; try { WorkBook workbook = WorkBook.LoadCSV(filePath); WorkSheet sheet = workbook.DefaultWorkSheet; Console.WriteLine($"Loaded {sheet.RowCount} rows from {filePath}"); for (int row = 2; row <= sheet.RowCount; row++) { string value = sheet[$"A{row}"].StringValue; if (!string.IsNullOrWhiteSpace(value)) { Console.WriteLine(value); } } } catch (IronXl.Exceptions.IronXLException ex) { Console.WriteLine($"IronXL error reading {filePath}: {ex.Message}"); } catch (IOException ex) { Console.WriteLine($"File access error: {ex.Message}"); } $vbLabelText $csharpLabel IronXL操作指南涵盖了各种来源的数据导入模式,包括文件、流和字节数组。 C# CSV 文件读取器教程:使用IronXL解析和转换 CSV 数据:图 5 - 将 CSV 转换为 Excel 格式 跨平台部署 IronXL独立于 Microsoft Office 运行,因此适用于服务器环境和云部署。 无论部署到 Windows、Linux、macOS、Docker 容器,还是 Azure 或 AWS 上的云函数, IronXL都能在所有平台上提供一致的结果,无需进行配置更改。 这种跨平台能力对于微服务架构来说非常有价值,因为在微服务架构中,轻量级容器负责处理数据处理任务。 IronXL功能概述详细介绍了支持的环境和运行时目标的完整列表。 如何获得IronXL的许可证? IronXL在生产环境中使用需要许可证密钥。 我们提供免费试用许可证供您评估,并为个人开发者、团队和组织提供商业许可证。 在调用任何IronXL函数之前,请先在应用程序中应用许可证密钥: using IronXL; // Apply license key at application startup IronXl.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"; // Verify the license is active if (IronXl.License.IsValidLicense("YOUR-LICENSE-KEY-HERE")) { Console.WriteLine("IronXL license is active."); } // Now use IronXL normally WorkBook workbook = WorkBook.LoadCSV("data.csv"); WorkSheet sheet = workbook.DefaultWorkSheet; Console.WriteLine($"Loaded {sheet.RowCount} rows."); using IronXL; // Apply license key at application startup IronXl.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"; // Verify the license is active if (IronXl.License.IsValidLicense("YOUR-LICENSE-KEY-HERE")) { Console.WriteLine("IronXL license is active."); } // Now use IronXL normally WorkBook workbook = WorkBook.LoadCSV("data.csv"); WorkSheet sheet = workbook.DefaultWorkSheet; Console.WriteLine($"Loaded {sheet.RowCount} rows."); $vbLabelText $csharpLabel 有关试用和许可选项,请访问IronXL许可页面。 为什么IronXL是 CSV 处理的理想选择? IronXL将 C# CSV 文件读取从繁琐的解析任务变成了简单的操作。 该库可以处理手动解析出错的常见极端情况——嵌入式逗号、带引号的字段中的换行符、不一致的分隔符、编码变化和格式错误的行——而无需针对每种情况编写自定义代码。 无论您需要快速的一次性数据导入,还是每天处理数千个文件的生产管道,同一个 API 都能在这两种情况下正常工作。 使用 string.Split 或 StreamReader 手动解析 CSV 时,如果带引号的字段包含分隔符,或者字段值中出现换行符,则会很快出现问题。 IronXL默认情况下会正确处理这些情况,遵循CSV 规范对带引号的字段处理和转义序列进行规范。 IronXL在.NET 10 中处理 CSV 文件时具有以下主要优势: -无需 Office 依赖:服务器和云部署无需安装 Microsoft Office 或任何 COM 互操作即可运行。 -自定义分隔符:支持通过 list分隔符 参数使用任何分隔符字符或字符串。 -类型安全的单元格访问:IntValue 和 DateTimeValue 访问器在遇到错误数据时返回安全的默认值,而不是抛出异常。 -范围操作:跨范围聚合和查询数据,无需逐行迭代 -格式转换:在一个工作流程中加载 CSV 文件并另存为 XLSX、XLS、PDF 或其他格式。 -数据集集成:将加载的工作簿转换为 DataSet / Data标签页le 格式,以便进行.NET和数据库操作 -跨平台:无需任何更改即可在 Windows、Linux、macOS、Docker 和云环境中运行 IronXL文档和单元格格式设置指南提供了有关格式设置、公式支持和高级工作簿操作的更多详细信息。 准备好自信地处理 CSV 文件了吗? 立即开始免费试用,探索IronXL 的全部功能。 常见问题解答 什么是 CSV 文件?为什么它被广泛使用? CSV 文件,即逗号分隔值文件,是一种用于存储表格数据的简单文本格式。由于其简单易用,它被广泛应用于商业应用中,用于在不同系统之间导出和导入数据。 IronXL如何帮助 C# 解析 CSV 文件? IronXL通过提供强大的工具来处理复杂的 CSV 结构,包括不同的列分隔符、带引号的字段和数据类型转换,从而简化了 C# 中的 CSV 文件解析。 IronXL能否将CSV数据转换为其他格式? 是的, IronXL允许开发人员将 CSV 数据转换为各种格式,例如 XML 和 Excel,使其能够灵活地满足不同的数据处理需求。 CSV文件解析中常见的挑战有哪些? 常见的挑战包括处理不同的列分隔符、管理带引号的字段以及执行准确的数据类型转换。IronXL 凭借其先进的解析功能,有助于缓解这些问题。 IronXL是否适用于企业级 CSV 处理? 是的, IronXL 的设计目标是面向企业用户,为.NET应用程序提供强大且可扩展的 CSV 文件处理解决方案。 IronXL是否支持高效处理大型CSV文件? IronXL针对性能进行了优化,使其能够高效处理大型 CSV 文件,而不会影响速度或准确性。 IronXL能否处理带有自定义分隔符的 CSV 文件? 是的, IronXL支持带有自定义分隔符的 CSV 文件,使开发人员在处理非标准 CSV 格式时拥有更大的灵活性。 IronXL如何处理CSV文件中的引号字段? IronXL能够准确解析 CSV 文件中的带引号字段,确保读取过程中数据的完整性和正确转换。 IronXL可以使用哪些编程语言进行 CSV 解析? IronXL是一个.NET库,因此可以与.NET Framework支持的语言一起使用,例如 C# 和 VB .NET。 是否有使用IronXL处理 CSV 文件的代码示例? 是的, IronXL文档提供了在 C# 应用程序中读取、解析和处理 CSV 文件的完整代码示例。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已更新2026年3月1日 在.NET C# 中下载 Excel 文件:将数据导出为 XLSX、CSV 等格式 使用 C# 和IronXL在ASP.NET Core中下载 Excel 文件。从 MVC 控制器导出数据到 XLSX、CSV 和 XML 格式,并返回 MemoryStream 和 File() 函数。包含代码示例。 阅读更多 已更新2026年3月1日 如何在Blazor中使用IronXL导出 Excel 文件 学习如何使用IronXL在Blazor Server 应用程序中将数据导出到 Excel。本指南涵盖项目设置、服务设计、条件格式设置、多工作表报表和错误处理,并提供完整的 C# 代码示例。 阅读更多 已更新2026年2月27日 如何在 C# 中读取 Excel 文件而不是使用 StreamReader 了解为什么 StreamReader 无法读取 Excel 文件,以及如何在 C# .NET中使用IronXL从磁盘或内存流加载 XLSX 和 XLS 工作簿。 阅读更多 如何在不使用 Microsoft Office 的情况下用 C# 打开 Excel 文件使用C# CSV解析器优化数据...
已更新2026年3月1日 在.NET C# 中下载 Excel 文件:将数据导出为 XLSX、CSV 等格式 使用 C# 和IronXL在ASP.NET Core中下载 Excel 文件。从 MVC 控制器导出数据到 XLSX、CSV 和 XML 格式,并返回 MemoryStream 和 File() 函数。包含代码示例。 阅读更多
已更新2026年3月1日 如何在Blazor中使用IronXL导出 Excel 文件 学习如何使用IronXL在Blazor Server 应用程序中将数据导出到 Excel。本指南涵盖项目设置、服务设计、条件格式设置、多工作表报表和错误处理,并提供完整的 C# 代码示例。 阅读更多
已更新2026年2月27日 如何在 C# 中读取 Excel 文件而不是使用 StreamReader 了解为什么 StreamReader 无法读取 Excel 文件,以及如何在 C# .NET中使用IronXL从磁盘或内存流加载 XLSX 和 XLS 工作簿。 阅读更多