首页 > 解决方案 > 如何将格式单元格从数据库保存到数据表c#

问题描述

我试图从 mysql 表中获取数据以将其传递到 excelsheet 中。

我使用 blazor 和 epplus 库。

这是我的代码

    MySqlConnection con= new MySqlConnection(_config.GetConnectionString("default"));

    con.Open();
    MySqlCommand cmd = new MySqlCommand(sql, con);
    DataTable dt = new DataTable();
    dt.Load(cmd.ExecuteReader());

    using (ExcelPackage pck = new ExcelPackage())
    {
        ExcelWorksheet worksheetData = pck.Workbook.Worksheets.Add("Sheet1");
        worksheetData.Cells.LoadFromDataTable(dt, true);
        pck.SaveAs(new System.IO.FileInfo(@"wwwroot/Ressources/test.xlsx"));
    }

似乎没有正确返回我所有数据,因为至少有一列日期,而不是我在我的 excelsheet 单元格编号上的日期,例如 44275

我想念什么吗?有没有一种更容易将数据从数据库表传递到 excelsheet 的方法?

标签: c#.netexcel

解决方案


我找到了解决方案:这是因为就像@Jim 所说的那样,我必须首先指定列里面会有日期。

因此,就我而言,将模板 xlsx 文件上的列目标格式化为日期格式,并且效果很好。我看到了我想要的正确日期。


推荐阅读