programing

C# Excel Interop:값을 텍스트로 저장하는 셀 형식 지정 방법

topblog 2023. 7. 2. 18:56
반응형

C# Excel Interop:값을 텍스트로 저장하는 셀 형식 지정 방법

다음에서 Excel 스프레드시트에 숫자를 쓰는 중입니다.DataTable숫자 자체의 길이가 5자리 미만인 경우 이 숫자는 모두 5자리이고 0보다 앞의 숫자는 0입니다(예를 들어 395는 00395로 저장됨).

이 숫자들을 엑셀에 입력할 때(C# 사용) 숫자로 저장하고 앞의 0을 제거하는 것입니다.C#에서 셀을 포맷하여 값을 숫자가 아닌 텍스트로 저장할 수 있는 방법이 있습니까?

넌 할 수 있다.SomeRange.NumberFormat = "@";또는 값 앞에 다음과 같은 기호를 붙입니다.'그리고 그것을 셀에 적으면 엑셀은 그것을 텍스트로서의 숫자로 처리하고 시각적인 단서를 제공할 것입니다.

이 답변은 우리 회사의 소프트웨어 중 하나에서 솔루션의 주요 문제를 해결하여 표시된 대로 값을 검색해야 했지만, 새 시트에 설정하면 숫자로 삽입됩니다.간단한 해결책.저는 아직 투표를 할 수 없지만, 어떻게 끝났는지에 따라 내려갑니다.

for (int h = 1; h <= 1; h++)
{
    int col = lastColl(sheets);
    for (int r = 1; r <= src.Count; r++)
    {
        sheets.Cells[r, col + 1] = "'"+src.Cells[r, h].Text.ToString().Trim();
    }
}

//여기서 [1]은 텍스트를 만들 열 번호입니다.

ExcelWorksheet.Columns[1].NumberFormat = "@";

//워크북의 모든 시트에서 특정 열을 포맷하려면 아래 코드를 사용합니다.약간의 변경과 함께 단일 시트의 루프를 제거합니다.

//Excel 파일이 보관되는 경로

string ResultsFilePath = @"C:\사용자\krakhil\데스크탑\TGUW EXCEL\TEST";

    Excel.Application ExcelApp = new Excel.Application();
    Excel.Workbook ExcelWorkbook = ExcelApp.Workbooks.Open(ResultsFilePath);
    ExcelApp.Visible = true;

    //Looping through all available sheets
    foreach (Excel.Worksheet ExcelWorksheet in ExcelWorkbook.Sheets)
    {                
        //Selecting the worksheet where we want to perform action
        ExcelWorksheet.Select(Type.Missing);
        ExcelWorksheet.Columns[1].NumberFormat = "@";
    }

    //saving excel file using Interop
    ExcelWorkbook.Save();

    //closing file and releasing resources
    ExcelWorkbook.Close(Type.Missing, Type.Missing, Type.Missing);
    Marshal.FinalReleaseComObject(ExcelWorkbook);
    ExcelApp.Quit();
    Marshal.FinalReleaseComObject(ExcelApp);

언급URL : https://stackoverflow.com/questions/7583704/c-sharp-excel-interop-how-to-format-cells-to-store-values-as-text

반응형