Excel 내보내기 문제

4007 단어 Excel
웹 페이지의 데이터를 excel 형식으로 유도할 때, 때때로 우리의 데이터는 특정한 형식으로 나타나야 하며, 이때 우리는cell에 스타일 규격 정보를 추가해야 한다.
우선, excel이 웹 페이지에서 도출하는 원리를 알아보겠습니다.이 데이터를 클라이언트에게 보낼 때, 클라이언트 프로그램 (브라우저) 이 excel 형식으로 읽도록 하려고,mime 형식을 다음과 같이 설정합니다.ms-excel, excel이 파일을 읽을 때 모든cell의 형식으로 데이터를 보여줍니다. 만약cell에 규정된 형식이 없다면 excel은 기본 형식으로 이cell의 데이터를 보여줍니다.이렇게 하면 사용자 정의 데이터 형식의 공간을 제공할 수 있습니다. 물론 excel이 지원하는 형식을 사용해야 합니다.다음은 자주 사용하는 형식입니다.
1) 텍스트: vnd.ms-excel.numberformat:@
2) 날짜: vnd.ms-excel.numberformat:yyyy/mm/dd
3) 숫자: vnd.ms-excel.numberformat:#,##0.00
4) 화폐: vnd.ms-excel.numberformat:¥#,##0.00
5) 백분율: vnd.ms-excel.numberformat: #0.00%
이러한 형식은 사용자 정의할 수 있습니다. 예를 들어 연월은 다음과 같이 정의할 수 있습니다. yy-mm 등등.그럼 이 형식들을 알게 됐는데 어떻게 이 형식들을 셀에 추가할 수 있을까요?간단합니다. 우리는 대응하는 탭 쌍 (즉 닫힌 탭) 에 스타일을 추가하기만 하면 됩니다.예를 들어 , 탭에 에 스타일을 추가하면 다음과 같습니다.
[html]
view plain
copy
print
?
410522198402161833  
<td style="vnd.ms-excel.numberformat:@">410522198402161833</td>

마찬가지로, 우리도
에 양식을 추가할 수도 있고, ,
에 양식을 추가할 수도 있다. 그러면 하나의 문제가 도입될 것이다. 당신은 주의했습니까?다음 코드를 참조하십시오.
[html]
view plain
copy
print
?
  
  •       
  •         542  
  •         0.25  
  •       
  •   
  • <table style=’vnd.ms-excel.numberformat:#,##0.00’>
        <tr>
            <td>542</td>
            <td style=’vnd.ms-excel.numberformat: #0.00%’>0.25</td>
        </tr>
    </table>
    

    그래, 우리가 부모 탭 쌍과 하위 탭 쌍에 모두 스타일을 추가할 때, 데이터는 어떤 스타일로 나타날까?테스트를 통해 데이터와 가장 가까운 양식으로 나타날 것이다. 이것도 우리의 뜻에 부합된다.이렇게 하면 우리는 스타일을 바꾸어 데이터가 excel에서 나타나는 방식을 바꿀 수 있다. (이 스타일 규격은 프론트 페이지에 추가할 수도 있고 백엔드 코드에 해당하는 컨트롤러, 예를 들어 DataGrid 등에 추가할 수도 있다.)만약 당신의 응용이 비교적 간단하다면, 이것은 이미 당신의 요구를 만족시킬 수 있다.그러나 만약 당신의 응용이 비교적 복잡하다면, 당신도 다른 데이터 표현 효과를 얻을 수 있는 방식을 취할 수 있다.다음은 좀 복잡한 응용 프로그램을 들겠습니다.
    예를 들어 당신의 데이터는 서로 다른 국가와 지역의 사용자에게 보여야 합니다. 이렇게 하면 데이터의 표현 형식이 달라집니다. 그러면 우리는 어떻게 이 문제를 해결합니까?물론, 당신은 수동으로 이 데이터를 처리할 수 있지만, 이것은 결코 가장 좋은 방법이 아니다. 만약에 우리가 다른 국가나 지역의 사용자를 늘릴 때마다 우리는 모든 데이터를 고객이 요구하는 형식으로 처리해야 하기 때문이다. 데이터의 양이 많을 때, 이것은 의심할 여지없이 매우 무겁고 무료한 일이다.그렇다면 우리는 도대체 이런 문제를 어떻게 해결해야 합니까?다음은 제 생각입니다. 이 포맷된 정보를 하나의 xml 파일에 추출하고 프로그램이 실행될 때 서로 다른 고객에 따라 다른 포맷된 정보를 읽고 이 포맷된 정보를 동태적으로 저희 데이터에 추가합니다. 이렇게 하면 다른 국가나 지역의 사용자가 증가할 때마다 우리는 xml 파일을 하나 더 추가하고 해당하는 포맷된 정보를 이 xml 파일에 기록합니다.그리고 이 국가나 지역의 사용자가 볼 때 대응하는 포맷 정보를 읽어서 데이터에 적용하면 된다.
    이상의 이 예는 제가 갑자기 생각한 것입니다. 다국적 기업의 기업이 비슷한 문제에 부딪힐 것이라고 믿습니다. 해결 방법은 여러분에게 아이디어를 제공할 뿐입니다. 벽돌을 던져 옥을 끌어올리는 효과가 있기를 바랍니다.

    좋은 웹페이지 즐겨찾기