簡體   English   中英

我無法使用epplus使用生成的Excel將日期過濾為月,年,日期

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM