programing

Excel 셀 형식을 "날짜와 같은" 데이터가 있는 텍스트로 유지

powerit 2023. 6. 12. 21:58
반응형

Excel 셀 형식을 "날짜와 같은" 데이터가 있는 텍스트로 유지

이것은 어리석어 보이지만, 저는 제 가치를 형식으로 얻을 수 없었습니다.#/####Excel 내에서 날짜 형식이 아닌 리터럴 문자열로 씁니다.

ClosedX를 사용하고 있습니다.다음을 사용하여 Excel에 쓸 ML:

// snip
IXLRangeRow tableRow = tableRowRange.Row(1);
tableRow.Cell(1).DataType = XLCellValues.Text;
tableRow.Cell(1).Value = "2/1997";
// snip

셀에 있는 출력 엑셀 시트를 보고 있습니다.2/1/1997코드에서 형식을 텍스트로 설정하더라도 엑셀 시트에서 "날짜"로 표시됩니다. 셀, 형식 셀을 마우스 오른쪽 버튼으로 클릭하여 "날짜"를 형식으로 보고 확인했습니다.

다음으로 변경할 경우:

// snip
IXLRangeRow tableRow = tableRowRange.Row(1);
tableRow.Cell(1).Value = "2/1997";
tableRow.Cell(1).DataType = XLCellValues.Text;
// snip

나는 대신에.35462제 산출물로서

나는 단지 나의 문자 그대로의 가치를 원합니다.2/1997워크시트에 표시됩니다.수정 방법에 대해 조언해 주십시오.

이것을 먹어보세요.

ws.Cell(rowCounter, colCounter).SetValue<string>(Convert.ToString(fieldValue));

ClosedXML에서는 잘 모르겠지만 Range(범위)를 사용해 보십시오.번호 형식(MSDN 링크)

예를 들면...

Range("A1").NumberFormat = "@"

또는

Selection.NumberFormat = "#/####"

고려 사항:

tableRow.Cell(1).Value = "'2/1997";

하나의 따옴표를 메모합니다.

ws.Cell(rowCounter, colCounter).Value="'"+Convert.ToString(fieldValue));

셀에 값을 쓰기 전에 포맷을 수행해야 합니다.

워크시트를 작성한 후 저장하기 직전에 실행하는 메커니즘은 다음과 같습니다.

    private void SetColumnFormatToText(IXLWorksheet worksheet)
    {
        var wholeSheet = worksheet.Range(FirstDataRowIndexInExcel, StartCellIndex, RowCount, HeaderCount);
        wholeSheet.Style.NumberFormat.Format = "@";
    }

쪼그려 앉지 않은.
여기에 이미지 설명 입력

제가 셀에 값을 쓰기 전에 한 번만 하면 됩니다.

worksheet.Range(RowIndex, StartCellIndex, RowIndex, EndCellIndex).Style.NumberFormat.Format = "@";

바로 뒤에 셀 값이 할당됩니다.
여기에 이미지 설명 입력

언급URL : https://stackoverflow.com/questions/32203930/keep-excel-cell-format-as-text-with-date-like-data

반응형