sourcetip

Excel이 텍스트로 포맷되도록 HTML 테이블 셀을 포맷하시겠습니까?

fileupload 2023. 4. 23. 11:04
반응형

Excel이 텍스트로 포맷되도록 HTML 테이블 셀을 포맷하시겠습니까?

엑셀에서 스프레드시트로 열리는 HTML 테이블을 만들고 있습니다.Excel에게 셀의 내용을 텍스트로 표시하도록 지시하기 위해 사용할 수 있는 HTML 태그 또는 CSS 스타일은 무엇입니까?

숫자, 텍스트, 날짜 등의 셀에 형식을 적용할 수 있습니다.

이전 답변 참조: HTML에서 Excel: Excel에게 열을 숫자로 처리하도록 어떻게 지시할 수 있습니까?

(수정된 단편)

페이지에 CSS 클래스를 추가하는 경우:

.num {
  mso-number-format:General;
}
.text{
  mso-number-format:"\@";/*force text*/
}

그리고 그 수업들을 TD에 붙이는게 효과가 있을까?

<td class="num">34</td>
<td class="num">17.0</td>
<td class="text">067</td>

이 솔루션(번호 형식의 css 스타일)을 사용하는 데 문제가 하나 있습니다.Excel에서 "텍스트로 저장된 숫자" 오류가 표시되므로 경우에 따라 불편할 수 있습니다.이 문제를 방지하려면 필드 시작 부분에 ZERO WIDE SPACE 문자(&#8203;)를 사용할 수 있습니다.

중단 없는 공간을 추가하여 문제를 해결할 수도 있습니다.&nbsp;의 가치보다 먼저<td>요소.
예:<td>&nbsp;0:12:12.185</td>
대신:<td>0:12:12.185</td>

코멘트나 상향투표를 할 만한 충분한 명성은 없지만, Raposo의 답변은 나에게 매우 효과적이었다.시스템은 SSRS 보고서를 Import하여 로컬모드로 실행합니다.DataSet 쿼리를 데이터베이스에 저장하고 런타임에 가져옵니다.그러나 Excel 내보내기에서는 쿼리의 결과 데이터를 DataGrid 객체로 실행하고 이를 HTML로 스트림에 직접 쓰고 확장자를 .xls로 설정합니다.리포트의 DataSet 쿼리에 Raposo 솔루션 삽입:

SELECT someColumn = '&#8203;' + someColumn 
FROM, etc.

SSRS 필드의 식에서 삭제합니다.

=Replace(Fields!someColumn.Value, "&#8203;", "")

효과가 있는 건 그것뿐이에요감사합니다!

이 문제에 대한 5가지 해결책을 찾았습니다.

  1. scunlife의 설명에 따라 필드의 형식을 텍스트로 지정합니다.이것은 Raposo가 말한 녹색 삼각형의 문제를 가지고 있다.

  2. Raposo의 설명에 따라 &#8203;을 사용합니다.이것은 값이 실제로 숫자가 아니라는 문제를 안고 있습니다.데이터를 처리하기 위해 시스템에 가져올 경우 이 문제가 발생할 수 있습니다.

  3. TD를 <td>="067"<td>로 추가합니다.이것은 #2와 같은 문제가 있습니다.

  4. TD를 <timeout>=text(067,000")<timeout>으로 추가합니다.이것도 #2와 같은 문제가 있습니다.

  5. .text3 {mso-number-format:"000";}의 CSS 클래스를 사용하여 이 클래스를 TD에 추가합니다.이것은 제가 선호하는 해결책이지만, 길이가 다른 수가 있으면 여러 개의 수업을 받아야 하는 문제가 있습니다.헤더를 작성한 후 데이터를 반복할 경우 필요한 클래스를 모두 추가한 후에야 사용할 수 있습니다.그러나 이것은 텍스트가 실제로 숫자이고 녹색 삼각형이 없다는 장점이 있습니다.

뛰어난 솔루션!나는 아래와 같이 했다.

HttpContext.Current.Response.Write("<style>  .txt " + "\r\n" + " {mso-style-parent:style0;mso-number-format:\"" + @"\@" + "\"" + ";} " + "\r\n" + "</style>");
HttpContext.Current.Response.Write("<Td class='txt'>&#8203;");
HttpContext.Current.Response.Write(Coltext);
HttpContext.Current.Response.Write("</Td>");

나한테는 잘 먹혀

값 앞에 단일 따옴표를 추가해 보십시오.

'

그래서 당신의 핸드폰은

<td>'007</td>

이것이 나에게 효과가 있는 유일한 해결책이었다."오픈 오피스" 및 "라이브 오피스"에서 근무한 주거지는 없습니다.이 경우 솔루션이 작동합니다.가장 좋은 점은 값을 복사해도 단일 따옴표는 복사되지 않는다는 것입니다.

언급URL : https://stackoverflow.com/questions/4619909/format-html-table-cell-so-that-excel-formats-as-text

반응형