Login
网站首页 > 文章中心 > 其它

c# excel 的导入和导出代码分享

作者:小编 更新时间:2024-01-18 11:18:50 浏览量:176人看过

在C#中,可以使用Microsoft.Office.Interop.Excel命名空间来进行Excel文件的导入和导出操作。下面是一个简单的示例代码来演示如何使用C#导入和导出Excel文件:


导入Excel文件:


using Excel = Microsoft.Office.Interop.Excel;


// 导入Excel文件

public void ImportExcel(string filePath)

{

    Excel.Application excelApp = new Excel.Application();

    Excel.Workbook workbook = excelApp.Workbooks.Open(filePath);

    Excel.Worksheet worksheet = workbook.Sheets[1]; // 假设导入第一个工作表


    int rowCount = worksheet.UsedRange.Rows.Count;

    int columnCount = worksheet.UsedRange.Columns.Count;


    for (int row = 1; row <= rowCount; row++)

    {

        for (int column = 1; column <= columnCount; column++)

        {

            Excel.Range range = worksheet.Cells[row, column];

            string cellValue = range.Value2.ToString(); // 获取单元格的值


            // 处理单元格数据...

        }

    }


    workbook.Close();

    excelApp.Quit();


    releaseObject(worksheet);

    releaseObject(workbook);

    releaseObject(excelApp);

}


private void releaseObject(object obj)

{

    try

    {

        System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);

        obj = null;

    }

    catch (Exception ex)

    {

        obj = null;

        Console.WriteLine("释放对象时发生异常:" + ex.ToString());

    }

    finally

    {

        GC.Collect();

    }

}



导出数据到Excel文件:


using Excel = Microsoft.Office.Interop.Excel;


// 导出数据到Excel文件

public void ExportToExcel(DataTable dataTable, string filePath)

{

    Excel.Application excelApp = new Excel.Application();

    Excel.Workbook workbook = excelApp.Workbooks.Add();

    Excel.Worksheet worksheet = workbook.Sheets[1]; // 假设导出到第一个工作表


    // 写入数据

    int rowCount = dataTable.Rows.Count;

    int columnCount = dataTable.Columns.Count;


    for (int row = 1; row <= rowCount; row++)

    {

        for (int column = 1; column <= columnCount; column++)

        {

            worksheet.Cells[row, column] = dataTable.Rows[row - 1][column - 1].ToString();

        }

    }


    // 保存Excel文件

    workbook.SaveAs(filePath);

    workbook.Close();

    excelApp.Quit();


    releaseObject(worksheet);

    releaseObject(workbook);

    releaseObject(excelApp);

}


在上述代码中,我们使用`Microsoft.Office.Interop.Excel`命名空间来操作Excel应用程序和工作簿。对于导入操作,我们打开Excel文件,遍历每个单元格以获取值。对于导出操作,我们创建Excel应用程序、工作簿和工作表,并将数据写入相应的单元格。最后,我们保存Excel文件并退出Excel应用程序。


请注意,为了确保正常释放资源,我们定义了一个`releaseObject`函数来释放COM对象。这是因为在使用Interop服务时,必须手动释放所有COM对象,以避免内存泄漏。


此外,在使用这些代码之前,你需要先在项目中添加对`Microsoft.Office.Interop.Excel`的引用。


版权声明:倡导尊重与保护知识产权,本站有部分资源、图片来源于网络,如有侵权,请联系我们修改或者删除处理。
转载请说明来源于"土嘎嘎" 本文地址:http://www.tugaga.com/jishu/other/1842.html
<<上一篇 2024-01-18
下一篇 >> 2024-01-18

编辑推荐

热门文章