如何在C#Wpf中使用Datarow写入excel文件

如何在C#Wpf中使用Datarow写入excel文件,c#,wpf,excel,C#,Wpf,Excel,我有一个Wpf应用程序,我想在其中将数据行插入excel文件。将datarow添加到datatable时,我希望该datarow保存在Excel文件中 Datarow应保存在此C#语句之前的excel文件中: table.Rows.Add(datarow) 每次将Datarow添加到datatable时,都会重复此过程。此过程不应替换Excel文件中以前的数据,而应每次将Datarow附加到Excel文件。请尝试以下代码,并确保从引用中添加Microsoft.Office.Interop.Exc

我有一个Wpf应用程序,我想在其中将数据行插入excel文件。将datarow添加到datatable时,我希望该datarow保存在Excel文件中

Datarow应保存在此C#语句之前的excel文件中:

table.Rows.Add(datarow)


每次将Datarow添加到datatable时,都会重复此过程。此过程不应替换Excel文件中以前的数据,而应每次将Datarow附加到Excel文件。

请尝试以下代码,并确保从引用中添加
Microsoft.Office.Interop.Excel
dll引用

如果您愿意,您可以进一步优化代码,但下面的一个对您的基本理解有用

using System;
using System.Data;
using System.Windows;
using Excel = Microsoft.Office.Interop.Excel;

namespace DatagridDemo
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            //Define Datatble
            DataTable dt = new DataTable();

            //Create Excel Application Instance
            Excel.Application ExcelApp = new Excel.Application();

            //Create workbook Instance and open the workbook from the below location
            Excel.Workbook ExcelWorkBook = ExcelApp.Workbooks.Open(@"E:\test.xlsx");

            dt.Columns.Add("EmpNo", typeof(int));
            dt.Columns.Add("EmpName", typeof(string));


            for (int i = 1; i < dt.Columns.Count + 1; i++)
            {
                ExcelApp.Cells[1, i] = dt.Columns[i - 1].ColumnName;
            }

            //Create DataRow
            DataRow dr = dt.NewRow();

            dr[0] = 1;
            dr[1] = "ABC";

            ExcelApp.Cells[2, 1] = dr[0].ToString();
            ExcelApp.Cells[2, 2] = dr[1].ToString();

            dt.Rows.Add(dr);

            dr = dt.NewRow();

            dr[0] = 2;
            dr[1] = "DEF";

            ExcelApp.Cells[3, 1] = dr[0].ToString();
            ExcelApp.Cells[3, 2] = dr[1].ToString();

            dt.Rows.Add(dr);

            dr = dt.NewRow();

            dr[0] = 3;
            dr[1] = "XYZ";

            ExcelApp.Cells[4, 1] = dr[0].ToString();
            ExcelApp.Cells[4, 2] = dr[1].ToString();

            dt.Rows.Add(dr);

            //Save the workbook
            ExcelWorkBook.Save();

            //Close the workbook
            ExcelWorkBook.Close();

            //Quit the excel process
            ExcelApp.Quit();
        }
    }
}
使用系统;
使用系统数据;
使用System.Windows;
使用Excel=Microsoft.Office.Interop.Excel;
命名空间DatagridDemo
{
公共部分类主窗口:窗口
{
公共主窗口()
{
初始化组件();
//定义Datatble
DataTable dt=新的DataTable();
//创建Excel应用程序实例
Excel.Application ExcelApp=新的Excel.Application();
//创建工作簿实例并从以下位置打开工作簿
Excel.工作簿ExcelWorkBook=ExcelApp.Workbooks.Open(@“E:\test.xlsx”);
添加(“EmpNo”,typeof(int));
添加(“EmpName”,typeof(string));
对于(int i=1;i
您能告诉我们到目前为止您尝试了什么吗?如果您得到了答案,请将其标记为正确答案,以便每个人都知道