[英]I am not able to filter date to Month, Year, Date with generated excel using epplus
我有一個視圖,可以從中過濾數據並顯示搜索結果,我將日期格式更改為
convert(varchar(11),getdate(),113)
這是視圖中的格式
在excel中下載后,它只是給出所有日期。 沒有分組可用。 我嘗試了幾種格式來更改Excel中的日期格式以及類似的代碼
ews.Column(i).Style.Numberformat.Format = "d-mmm-yy";
但沒有用。
我的查看返回日期如19 Mar 2014
我想按格式將日期分組為19-Mar-2014
請給我建議一個可行的答案。
不要在視圖中進行任何轉換,例如,讓它返回getdate()並在EPPlus代碼中設置格式。 我將其用於我的一個項目,它將允許在Excel中正確選擇/設置格式。
我同意Jordan的觀點,您不應格式化數據庫中的日期,而應將其作為SQL DATETIME(C#日期時間)返回到您的.NET代碼。 如果這樣做,則可以更好地控制將其寫入電子表格的方式。
var file = new FileInfo(@"C:\Temp\ExcelDemo.xlsx");
using (var package = new ExcelPackage(file))
{
var worksheet = package.Workbook.Worksheets.Add("Demo");
var date = DateTime.Now;
worksheet.Cells[1, 1].Value = @"Date Raw";
worksheet.Cells[1, 2].Value = @"Date Raw with Style.Numberformat.Format = ""D-MMM-YY""";
worksheet.Cells[1, 3].Value = @".ToString()";
worksheet.Cells[1, 4].Value = @".ToString(dd MMM yy)";
worksheet.Cells[1, 5].Value = @".ToString(yyyy-MM-ddTHH\:mm\:ss.fffffffzzz)";
worksheet.Column(2).Style.Numberformat.Format = "D-MMM-YY";
worksheet.Cells[2, 1].Value = date;
worksheet.Cells[2, 2].Value = date;
worksheet.Cells[2, 3].Value = date.ToString();
worksheet.Cells[2, 4].Value = date.ToString(@"dd MMM yy");
worksheet.Cells[2, 5].Value = date.ToString(@"yyyy-MM-ddTHH\:mm\:ss.fffffffzzz");
package.Save();
}
select replace(convert(varchar(11),getdate(),113),' ','-')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.