如何在c# Wpf中使用Datarow编写excel文件
本文关键字:Datarow 编写 excel 文件 Wpf | 更新日期: 2023-09-27 17:53:30
我有一个Wpf应用程序,我想在其中插入数据行到excel文件。当datarow被添加到数据表时,我希望该datarow被保存在Excel文件中。
Datarow应该在这个c#语句之前保存在excel文件中:
table.Rows.Add(我们);
每次将Datarow添加到数据表时,都会重复此过程。它不应该替换Excel文件中先前存在的数据,而应该每次向Excel文件添加datarow。
尝试下面的代码,并确保从引用中添加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();
}
}
}