.NET - 通过数据表生成的Excel文件 - 在哪里添加格式?

时间:2018-02-23 20:54:51

标签: c# excel

我们有一个返回搜索结果的过程,并将数据导出到Excel。它将结果转换为数据表,并将数据表添加到空白工作表中:

var wb = new XLWorkbook();
wb.Worksheets.Add(ds);
return wb;

用户希望在工作表中添加一些格式设置日期字段,例如显示为MM / DD / YYYY。

但是,

找不到正确的引用来访问新工作簿中的工作表。

还不确定是否可以将格式设置为列,而不是我认为将其转换为字符串的代码,

((Excel.Range)sheet.Cells[i, 2]).EntireColumn.NumberFormat = "yyyy-MM-dd";
sheet.Cells[i, 2].Value2 = Convert.ToDateTime(dr["date"].ToString());

任何?

编辑 - @ScottHannen确定了我应该调查的图书馆,并且我取得了更多进展。我已经深入研究了工作表并成功添加了格式,但它没有在最终文档中反映出来。

以下是代码:

        var wb = new XLWorkbook();
        wb.Worksheets.Add(ds);
        foreach (IXLWorksheet ws in wb.Worksheets)
        {
            if (value == 1)
            {
                ws.Column(16).Style.DateFormat.Format = "yyyy-MM-dd";
                ws.Column(17).Style.DateFormat.Format = "yyyy-MM-dd";
            }
            else
            { }
        }

        return wb;

当我查看最终文档时,日期仍显示为详细信息 - 12/7/2017 12:00:00 AM - 但文档格式为IS。如果我做手册"点击进入单元格并退出"事情,格式化更新,就像文本到列一样。

当然,我不想这样做,我希望直接采用格式化。

我认为问题在于我首先添加数据并将其格式化,就像常规工作表一样。但是那里有一个命令可以刷新/应用/你有什么格式吗?

0 个答案:

没有答案