我使用EPPlus生成Excel个文件,在DAL中我填充DataTable个,将数据填充到表中,并将表传递到表示层.从这里,我使用LoadFromDataTable()方法生成Excel文件.

一切正常,只是我想将列的类型之一设置为Date.我试图将DataTable的列类型设置为Date,然后将DataTable传递到表示层,但它似乎是EPPlus,忽略了它,或者没有识别,因为当我打开生成的Excel文件时,单元格的类型是Number.

如果我手动设置单元格格式并将"类型"设置为Date,则Excel会显示正确的日期.那么,我如何才能做到这一点呢?

推荐答案

您确实需要DataTable列具有正确的类型,但还需要修改列或单元格的样式.数字格式.格式属性.

假设您有一个名为wsExcelWorksheet:

ws.Column(1).Style.Numberformat.Format  = "yyyy-mm-dd"; 
//OR "yyyy-mm-dd h:mm" if you want to include the time!

.net相关问答推荐

Dictionary.FirstOrDefault() 如何判断是否找到了结果

判断 Windows 路径中是否存在可执行文件

DbContext 丢弃更改而不释放

我应该创建一个 DateRange 对象吗?

无法加载文件或程序集 Microsoft.Extensions.DependencyInjection.Abstractions,版本 = 1.1.0.0

标签从右向左增长

单击关闭按钮时隐藏表单而不是关闭

在一个 LINQ 查询中获取两列的总和

将客户端证书添加到 .NET Core HttpClient

如何将字符串列表数据绑定到 WPF/WP7 中的 ListBox?

如何在 C# 中将 HTML 转换为文本?

C#:获得完整的桌面大小?

软件包版本始终为 1.0.0,带有 dotnet pack

在 C# 中将匿名类型转换为键/值数组?

自定义属性的构造函数何时运行?

在关闭警告中访问 foreach 变量

从 'System.Int32' 到 'System.Nullable`1[[System.Int32, mscorlib]] 的无效转换

接口属性的 XML 序列化

合并两个(或更多)PDF

MemoryCache 不遵守配置中的内存限制