读写excel代码

preview
共20个文件
cs:6个
tlog:2个
resx:2个
需积分: 0 2 下载量 37 浏览量 更新于2012-10-15 收藏 22KB RAR 举报
在IT行业中,处理数据是日常任务之一,而Excel作为广泛使用的电子表格软件,其数据处理能力强大且灵活。本文将详细介绍如何使用C#语言来读取和写入Excel文件,帮助开发者更好地集成Excel操作到自己的应用程序中。 C#中进行Excel操作,通常会借助第三方库,如NPOI、EPPlus等。NPOI是一个开源的.NET库,能够读写Microsoft Office格式的文件,包括Excel。以下是一个简单的使用NPOI读取Excel文件的例子: ```csharp using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; // 打开Excel文件 FileStream file = new FileStream("D:\\test.xls", FileMode.Open, FileAccess.Read); HSSFWorkbook workbook = new HSSFWorkbook(file); // 访问工作表 ISheet sheet = workbook.GetSheetAt(0); // 获取第一个工作表 // 遍历行和列 for (int rownum = 0; rownum <= sheet.LastRowNum; rownum++) { IRow row = sheet.GetRow(rownum); if (row != null) { for (int cellnum = 0; cellnum < row.LastCellNum; cellnum++) { ICell cell = row.GetCell(cellnum); if (cell != null) { Console.WriteLine(cell.ToString()); } } } } // 关闭文件 file.Close(); ``` 这段代码展示了如何打开一个.xls格式的Excel文件,获取第一个工作表,并遍历所有行和列,打印出单元格的内容。注意,`.xls`格式适用于较旧的Excel版本,对于.xlsx格式(Excel 2007及以上版本)的文件,需要使用`XSSFWorkbook`类代替`HSSFWorkbook`。 接着,我们来看写入Excel的例子。假设我们要创建一个新的Excel文件并写入数据: ```csharp using NPOI.XSSF.UserModel; using System.IO; // 创建新的Excel文件 XSSFWorkbook workbook = new XSSFWorkbook(); IXSSFSheet sheet = workbook.CreateSheet("Sheet1"); // 写入数据 IRow headerRow = sheet.CreateRow(0); headerRow.CreateCell(0).SetCellValue("Name"); headerRow.CreateCell(1).SetCellValue("Age"); IRow dataRow = sheet.CreateRow(1); dataRow.CreateCell(0).SetCellValue("John Doe"); dataRow.CreateCell(1).SetCellValue(30); // 保存文件 using (FileStream fileStream = new FileStream("D:\\test.xlsx", FileMode.Create, FileAccess.Write)) { workbook.Write(fileStream); } ``` 这里,我们创建了一个新的.xlsx文件,添加了一个名为"Sheet1"的工作表,定义了表头(Name和Age),并写入了一行数据。 除了NPOI,还有EPPlus库,它提供了更高效和内存友好的Excel操作方式。不过,这里我们主要关注NPOI的用法,EPPlus的使用方法类似,只是类库和方法略有不同。 在实际项目中,可能会遇到更多复杂的需求,如处理公式、样式、图表等。NPOI提供了丰富的API来支持这些功能,例如设置单元格样式、读取公式结果、合并单元格等。在开发过程中,建议查阅NPOI的官方文档或相关的教程,以便掌握更全面的使用技巧。 通过C#结合NPOI库,我们可以轻松地实现Excel文件的读写操作,这在数据分析、报表生成、数据导入导出等场景中非常实用。请确保在使用过程中遵循版权规定,合理使用第三方库,并注意处理可能出现的异常情况,以确保程序的稳定性和安全性。
hqczpmgf
  • 粉丝: 0
  • 资源: 1
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜