如何使用C#中的LINQ将数据从Gridview或数据库导出到Excel?

时间:2016-11-24 11:25:29

标签: c# database excel linq gridview

我使用此代码将Excel Sheet中的数据导入数据库,现在我想做相反的事情。

private void pictureBox1_Click(object sender, EventArgs e)
    {
        string pach = @"D:\C# Projects\P.xlsx";
        var exlData = new ExcelQueryFactory(pach);
        var data = from x in exlData.Worksheet<excelData>("Sheet1")
                   select x;
        DataClassesDataContext db = new DataClassesDataContext();
        foreach (var d in data)
        {
            db.tbl_PrsInfos.InsertOnSubmit(new tbl_PrsInfo
            {
                Id = d.Id,
                FullName = d.FullName,
                Personnely = d.Personnely,
                CodeBank = d.CodeBank,
                Bank = d.Bank,
                Email = d.Email,
                State = d.State,
            });
        }
        db.SubmitChanges();
        dgv_prs_add.DataSource = from show in db.tbl_PrsInfos select show;
    }

1 个答案:

答案 0 :(得分:1)

看起来您正在使用LinqToExcel库,这是Excel工作表的只读界面。

要编写Excel文件,您有以下几种选择:

  • 使用第三方库编写Excel文件而无需安装Excel(例如Aspose中的库)
  • 使用内置的C#文件写入功能编写CSV文件,并在Excel中打开CSV
  • 使用办公室自动化以编程方式创建Excel文件。这需要安装Excel。