programing

엑셀 시트의 셀을 프로그래밍 방식으로 포맷하는 방법은?

stoneblock 2023. 8. 22. 21:47

엑셀 시트의 셀을 프로그래밍 방식으로 포맷하는 방법은?

Excel 파일에서 시트를 읽어 새 시트에 기록하는 asp.net c# 프로그램이 있습니다(Sql Server 테이블에서 데이터를 가져온 경우 열 하나 추가).

문제: 새 시트에서 데이터의 형식이 원하는 대로 지정되지 않았습니다.예를 들어 시간이 없는 날짜와 왼쪽 정렬을 원하지만 시간 및 오른쪽 정렬 등으로 형식이 지정됩니다.

Excel 셀을 포맷하려면 어떻게 해야 합니까?

다음은 우리의 코드입니다.

newSheet = (Worksheet)sheets.Add(sheets[1], Type.Missing, Type.Missing, Type.Missing);
newSheet.Name = worksheetName;

for (int i = 0; i < headerList.Count; i++)
{
    newSheet.Cells[1, i + 1] = headerList[i];
    Range headerRange = newSheet.Cells[1, headerList.Count]; ;
    headerRange.Font.Bold = true;
}
for (int i = 0; i < listDrugOrder.Count; i++)
{
    DrugOrder drugorder = listDrugOrder[i];

    newSheet.Cells[i + 2, 1] = drugorder.RES_ID;
    newSheet.Cells[i + 2, 2] = drugorder.STATION;
    newSheet.Cells[i + 2, 3] = drugorder.DATE;
    newSheet.Cells[i + 2, 4] = drugorder.DRUG;
    newSheet.Cells[i + 2, 5] = drugorder.NDC;
    newSheet.Cells[i + 2, 6] = drugorder.UNITS_PER_DOSE;
    newSheet.Cells[i + 2, 7] = drugorder.FORM;
    newSheet.Cells[i + 2, 8] = drugorder.ROUTE;

    newSheet.Cells[i + 2, 10] = drugorder.FREQUENCY;
    newSheet.Cells[i + 2, 11] = drugorder.Heading_LAKE_ORDERS;
    newSheet.Cells[i + 2, 12] = drugorder.HOA;
    newSheet.Cells[i + 2, 13] = drugorder.INSTRUCTIONS;
    newSheet.Cells[i + 2, 14] = drugorder.DIAGNOSIS;
    newSheet.Cells[i + 2, 15] = drugorder.DIAGNOSIS_CODES;
    newSheet.Cells[i + 2, 16] = drugorder.MAR;
    newSheet.Cells[i + 2, 17] = drugorder.TAR;
    newSheet.Cells[i + 2, 18] = drugorder.DRUG_ALERT;
}

workbook.Save();
workbook.Close(null, null, null);
excelApp.Quit();

셀(범위) 개체에 적절한 속성을 설정하기만 하면 됩니다.

번호 설정셀 번호 형식을 제어하기 위한 형식(예:

newSheet.Cells[i, j].NumberFormat = "m/d/yyyy"

수평 정렬을 설정하여 정렬을 제어합니다. 예:

newSheet.Cells[i, j].HorizontalAlignment = ExcelAlignment.xlLeft; //or Excel.XlHAlign.xlHAlignLeft

언급URL : https://stackoverflow.com/questions/7503298/how-to-format-cells-in-excel-sheet-programmatically