c#数据导入Excel表格
时间: 2024-09-10 15:22:43 浏览: 49
在C#中导入数据到Excel表格,通常可以通过多种方式实现。一种常见的方法是使用Microsoft Office的Interop服务,这需要在目标机器上安装Office。另一种方法是使用第三方库,如EPPlus或NPOI,它们可以操作Excel文件而无需Office环境。下面我将介绍使用Microsoft Office Interop服务和EPPlus库两种方法。
### 使用Microsoft Office Interop服务
1. **添加Interop服务引用**:
在项目中添加对Microsoft.Office.Interop.Excel的引用。这可以在Visual Studio的“添加引用”对话框中的“COM”标签下找到。
2. **创建Excel应用程序实例**:
```csharp
using Microsoft.Office.Interop.Excel;
...
Application excelApp = new Application();
```
3. **创建工作簿和工作表**:
```csharp
Workbook workbook = excelApp.Workbooks.Add(Type.Missing);
Worksheet worksheet = workbook.Sheets[1];
```
4. **写入数据**:
```csharp
worksheet.Cells[1, 1] = "数据";
// 继续写入其他数据...
```
5. **保存并关闭工作簿**:
```csharp
workbook.SaveAs(@"C:\路径\文件名.xlsx");
excelApp.Quit();
```
### 使用EPPlus库
1. **添加EPPlus库引用**:
可以通过NuGet包管理器安装EPPlus库。
2. **创建工作簿和工作表**:
```csharp
using OfficeOpenXml;
...
FileInfo newFile = new FileInfo(@"C:\路径\文件名.xlsx");
using (ExcelPackage package = new ExcelPackage(newFile))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");
// 添加数据
worksheet.Cells[1, 1].Value = "数据";
// 继续写入其他数据...
// 保存工作簿
package.Save();
}
```
这两种方法都有各自的优势和劣势。使用Interop服务可以直接操作Excel的大多数功能,但是它需要安装Office,且运行时性能开销较大。而EPPlus库不需要安装Office,操作简单,性能较好,但是某些高级Excel功能可能不支持。
阅读全文