在Excel表中通过每个单元格环绕,并使用EPP Plus分配空值



我有一个应用程序,该应用程序在单击按钮上下载Excel表,该数据从ADO.NET数据表中填写。现在的问题是,数据库中的数据列很少,它们在Excel单元格中不打印为null,而是其空白。如何填充这些Excel单元格中的空值?

现在,我正在遍历每一列,以查看该值是否为DateTime(下面的代码)。可以通过在每行和列单元格中循环循环吗?

可以做类似的事情来分配空值
int colWorkSheet1 = 0;
foreach (DataColumn data in dataTable1.Columns)
{
    colWorkSheet1++;
    if (data.DataType == typeof(DateTime))
    {
        worksheet1.Column(colWorkSheet1).Style.Numberformat.Format = "MM/dd/yyyy";// use "MM/dd/yyyy hh:mm:ss AM/PM"; for time and seconds
    }
}

您可以拥有一个看起来像这样的扩展方法:

public static void InsertSpecial(this ExcelWorkSheet me, int row, int col, object value)
{
    if(value == null)
        me.SetValue(row, col, "NULL");
    else
        me.SetValue(row, col, value);
    if(value is DateTime)
        me.Cells[row, col].Style.Numberformat.Format = "MM/dd/yyyy";
    // add anything you want to check/do here
}

,然后称其为:

xlWs.InsertSpecial(row, col, value);

而不是:

xlWs.SetValue(row, col, value);

最新更新