c#实现excel导入数据卡
时间: 2023-11-24 21:23:36 浏览: 78
C#实现Excel导入数据可以使用`Microsoft.Office.Interop.Excel`来读取Excel文件,同时也可以使用`OleDb`或`OpenXml`。
以下是使用`Microsoft.Office.Interop.Excel`实现Excel导入数据的示例代码:
```csharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Office.Interop.Excel;
namespace ExcelImportDemo
{
class Program
{
static void Main(string[] args)
{
Application excel = new Application();
Workbook workbook = null;
Worksheet worksheet = null;
try
{
// 打开Excel文件
workbook = excel.Workbooks.Open(@"C:\test.xlsx");
worksheet = workbook.Worksheets[1];
// 读取数据
Range range = worksheet.UsedRange;
int rowCount = range.Rows.Count;
int colCount = range.Columns.Count;
for (int i = 1; i <= rowCount; i++)
{
for (int j = 1; j <= colCount; j++)
{
Console.Write(range.Cells[i, j].Value2.ToString() + "\t");
}
Console.WriteLine();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
// 释放资源
if (worksheet != null) Marshal.ReleaseComObject(worksheet);
if (workbook != null) workbook.Close(false);
if (excel != null) excel.Quit();
Marshal.ReleaseComObject(excel);
}
}
}
}
```
在这个示例中,我们使用了`Microsoft.Office.Interop.Excel`来打开Excel文件,并读取其中的数据。首先,我们创建了一个`Application`对象来表示Excel应用程序。然后,通过`Workbooks`属性获取到当前打开的工作簿,再通过`Worksheets`属性获取到工作表对象。使用`UsedRange`属性获取到用到的单元格范围,进而遍历每一个单元格,并输出其值。
需要注意的是,在使用完`Application`、`Workbook`和`Worksheet`对象后,需要调用`Marshal.ReleaseComObject()`方法来释放资源。这是因为这些对象都是COM对象,需要通过该方法来释放资源,否则可能会导致内存泄漏。
阅读全文