gpt4 book ai didi

c# - 如何以编程方式格式化 Excel 工作表中的单元格?

转载 作者:可可西里 更新时间:2023-11-01 03:09:10 25 4
gpt4 key购买 nike

我们有一个 asp.net c# 程序,它从 Excel 文件中读取工作表并将其写入新工作表(如果数据来自 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();

最佳答案

只需设置the appropriate property在你的单元格(范围)对象上。

设置 NumberFormat 控制单元格 number formatting ,即:

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

设置Horizo​​ntalAlignment来控制对齐方式,即:

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

关于c# - 如何以编程方式格式化 Excel 工作表中的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7503298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com