2014-12-03 3 views
0

나는 MS Word 2010 문서에서 시간을 보여주는 막대 그래프를 만드는 프로젝트를 진행하고 있습니다. 주 프로그램은이 시간을 한 시간에 저장합니다 List<TimeSpan>C# Open XML에서 Excel로 TimeSpan

Word의 차트 삽입 기능을 사용하여 예제 단어 문서를 만들고 여러 시간 (각각 1 시간 정도, 예 : 01:04)으로 막대 차트를 만들었습니다. :.. 04 (템플릿으로이 코드를 사용하여)

I는 Open XML의 SDK 2.0 생산성 도구에 고개가 (위의 예를 들어)로 반사 된 코드에서 생성 된 것으로 나타났습니다 :

numericValue9.Text = "4.449074074074074E-2"; //01:04:04 

List<TimeSpan>을 사용하여 자동으로 생성하려면 TimeSpan을이 작은 nu로 변환하려면 어떻게합니까? 유리한 가치? 그게 TimeSpan.TotalDays입니까?

또한 Word 문서 (차트를 마우스 오른쪽 단추로 클릭하고 데이터 편집을 선택)를 보면 내 TimeSpan의 끝에 "AM"이 추가 된 것으로 나타났습니다. Excel이 내 시간대를 날짜 시간으로 변환하는 데 탁월합니까?

+0

, 왜 시작 시간과 종료 시간? 그렇게하면 [Excel에서 차이점을 발견하고 원하는대로 형식을 지정할 수 있습니다] (http://stackoverflow.com/a/7929360/2596334). –

+0

목록 데이터는 별도의 프로젝트에서 생성 한 별도의 데이터베이스에서 가져옵니다. 그들은 특정 작업을 수행하는 평균 시간을 나타내므로 시작/종료 날짜가 없습니다. 이 Excel/Word 문서의 목적은 평균을 그래픽 방식으로보고하는 것입니다. – Alex

+0

언제든지 임의의 시작 시간을 구성한 다음 개체의 시간을 추가하여 "종료 시간"을 가져올 수 있습니다. –

답변

1

DJ KRAZE가 언급했듯이 이러한 현상이 발생하는 이유는 셀의 형식 때문입니다.
Open XML은 DataType = CellValues.String이라고 가정하지만 실제로 문자열을 입력하지 않으면 올바르게 표시되지 않는 항목 ("작은 숫자")을 반환합니다.

이 문제를 해결하는 방법은 단순히 셀을 텍스트로 서식 지정하는 것입니다. 당신은 너무 같은 수식을 사용하여이 작업을 수행 할 수 있습니다

// A1 being what ever cell your original data is in 
=TEXT(A1, "h:mm:ss") 

결과를 :

Excel로 직접 시간 범위를 밀어보다는

result

+0

고마워요.이 수식을 막대 그래프에 올바르게 표시 할 수 있는지 확실하지 않습니다. 또한 실제 질문은 C# 시간 간격을 어떻게 변환 할 것인가입니다. 1:04:04 그 번호로 0.0444907407407407, 나는 C# 코드로 문서를 생성하기 때문에. – Alex

+0

이미지에서 무엇을 의미하는지 봅니다. 감사. – Alex