首页 > 后端开发 > C++ > 如何使用 C# 从 Excel 文件读取数据?

如何使用 C# 从 Excel 文件读取数据?

Mary-Kate Olsen
发布: 2025-01-11 16:26:45
原创
849 人浏览过

How to Read Data from an Excel File Using C#?

使用C#读取Excel文件数据

问题:

如何使用C#读取Excel文件数据?我已经尝试打开文件并将其复制到剪贴板,但不确定如何继续操作。

解答:

使用C#读取Excel文件数据,您可以考虑以下方法:

1. 创建Excel对象:

<code class="language-csharp">Excel.ApplicationClass ExcelObj = new Excel.ApplicationClass();
ExcelObj.Visible = false;</code>
登录后复制

2. 打开工作簿和工作表:

<code class="language-csharp">Excel.Workbook theWorkbook = ExcelObj.Workbooks.Open(s.Text, 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, false, false);
Excel.Worksheet worksheet = (Excel.Worksheet)theWorkbook.Worksheets.get_Item(count);</code>
登录后复制

3. 将单元格访问为命名范围:

<code class="language-csharp">Excel.Range range = sheet.get_Range("A1", Missing.Value);</code>
登录后复制

4. 获取单元格值:

<code class="language-csharp">range.Text // 返回用户可见文本
range.Value2 // 返回Excel中存储的实际值</code>
登录后复制

5. 迭代单元格:

<code class="language-csharp">Excel.Range range1 = sheet.get_Range("A1:A5", Missing.Value);
if (range1 != null)
{
    foreach (Excel.Range r in range1)
    {
        string user = r.Text;
        string value = r.Value2;
    }
}</code>
登录后复制

清理:

请记住以与创建相反的顺序关闭并释放Excel对象,以便正确处置它们。

示例:

<code class="language-csharp">using System;
using ExcelTools = Ms.Office;
using Excel = Microsoft.Office.Interop.Excel;

public class ExcelReader
{
    public static void ReadWorkbook(string fileName)
    {
        Excel.Application excel = null;
        Excel.Workbook wkb = null;

        try
        {
            excel = new Excel.Application();
            wkb = ExcelTools.OfficeUtil.OpenBook(excel, fileName);

            Excel.Worksheet sheet = wkb.Sheets["Data"] as Excel.Worksheet;
            Excel.Range range = sheet.get_Range("A1", Missing.Value);

            string A1 = String.Empty;
            if (range != null)
                A1 = range.Text.ToString();

            Console.WriteLine("A1单元格的值: {0}", A1);
        }
        catch (Exception ex)
        {
            // 在此处处理错误
        }
        finally
        {
            ExcelTools.OfficeUtil.ReleaseRCM(wkb);
            ExcelTools.OfficeUtil.ReleaseRCM(excel);
        }
    }
}</code>
登录后复制

附加说明:

  • 将可见性设置为false以防止显示Excel。
  • 考虑使用OleDb提供程序作为访问Excel数据的替代方法。
  • 要查找特定值,请使用Excel.Cells.Find。

以上是如何使用 C# 从 Excel 文件读取数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板