2014-09-08 4 views
1
내가 데이터를 필터링 및 검색 결과를 보여줍니다있는 전망을 가지고

을 사용하여 생성 된 엑셀로 월, 년, 날짜로 날짜를 필터링 할 수없는 나는, 나는내가 epplus

convert(varchar(11),getdate(),113) 

에 날짜 형식 변경 보기의 형식입니다.

Excel에서 다운로드하면 모든 날짜가 표시됩니다. 사용할 수있는 그룹화가 없습니다. 나는

ews.Column(i).Style.Numberformat.Format = "d-mmm-yy"; 

하지만 아무 소용이 같은 날짜 Excel의 형식뿐만 아니라 코드를 변경하기 위해 여러 형식을 시도했다. 내가 19-Mar-2014

같은 형식으로 날짜의 그룹화하려는

19 Mar 2014처럼

내보기 반환은 나에게 작업 응답을 제안하십시오 날짜.

+1

'convert (varchar (11), getdate(), 113)'에서 얻은 "날짜"는 실제로 텍스트가 아닌 Excel의 날짜입니까? 데이터 전송의 경우 ISO 날짜 형식 yyyy-mm-dd를 사용합니다. 따라서'convert (varchar (10), getdate(), 120)'을 사용하여 Excel에서 실제로 날짜를 얻은 다음 Excel에서 형식을 지정하십시오. –

답변

1

보기에서 변환하지 마십시오. getdate()를 리턴하고 EPPlus 코드에서 형식을 설정하십시오. 내 프로젝트 중 하나를 위해 이것을 사용하고 Excel에서이 경로로 올바르게 선택/형식을 지정할 수 있습니다.

+0

방금 ​​날짜를 얻은 다음 서식을 지정했기 때문에 저에게 효과적이었습니다. – user2831167

+0

좋습니다. 대답을 수락하십시오. –

-1
select replace(convert(varchar(11),getdate(),113),' ','-') 
+0

나는 똑같은 방법을 시도했지만 아무런 사용도하지 않았다. 그 형식으로 날짜를 보여 주지만, 그룹화는 끝난다. – user2831167

+0

코드 해답 솔루션을 피하고 무슨 일이 일어나는지 설명하십시오. –

0

저는 요르단에 동의합니다. 데이터베이스에서 날짜를 형식화하지 말고 .NET 코드에 SQL DATETIME, C# DateTime으로 반환해야한다는 것에 동의합니다. 그렇게하면 스프레드 시트에 쓰기 방법을 더 많이 제어 할 수 있습니다.

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(); 
}