简介
使用miniExcel
代码
using MiniExcelLibs;
public class UserAccount
{
//这个里面的属性一定要和文档里面的标题一一对应,不然的话是会找不到这条数据的
public int ID {
get; set; }
public string Name {
get; set; }
public int Age {
get; set; }
}
public static string path = @"D:\aaa.xlsx";
//生成按钮
private void button1_Click(object sender, EventArgs e)
{
try
{
//读取的话 主要是下面两句
var rows = MiniExcel.Query<UserAccount>(path).ToList();
MessageBox.Show( rows[0].Name);//读取第一行第一列的那个元素
dataGridView1.DataSource=rows;
}
catch (Exception)
{
throw;
}
}
//写入按钮
private void button2_Click(object sender, EventArgs e)
{
var rows=MiniExcel.Query<UserAccount>(path).ToList();
UserAccount ceshi = new UserAccount();
ceshi.ID = 5;
ceshi.Name = "小明";
ceshi.Age = 10;
rows.Add(ceshi);
MiniExcel.SaveAs(@"D:\测试文档全部导出.xlsx", rows);
MiniExcel.SaveAs(@"D:\测试文档重写导出.xlsx", GetOrders(rows));//测试文件标题重写导出
}
private IEnumerable<Dictionary<string,object>> GetOrders(List<UserAccount> userAccounts)
{
foreach (var item in userAccounts)
{
var newCompanyPrepareds =new Dictionary<string, object>();
newCompanyPrepareds.Add("Id",item.ID);
newCompanyPrepareds.Add("姓名",item.Name);
newCompanyPrepareds.Add("职位", item.Age);
yield return newCompanyPrepareds;
}
}
效果