在我的C#应用程序中,我使用ClosedXml .Excel来处理excel文件.我有一个excel模板,我将模板添加到应用程序中并将数据添加到Excel工作表并保存excel,如下所示,
wb = new XLWorkbook(exportOption.FileName);
---
if (wb.Worksheets.Count > 0)
{
for (int i = 0; i < wb.Worksheets.Count; i++)
{
using (var ws = wb.Worksheet(i + 1))
{
if (ws.Visibility == XLWorksheetVisibility.Visible)
{
ws.SetTabActive();
break;
}
}
}
}
try
{
wb.CalculateMode = XLCalculateMode.Auto;
wb.SaveAs(exportOption.FileName);
}
Run Code Online (Sandbox Code Playgroud)
保存更改后,我的excel格式也会与其他工作表完全一致.例如,在一张表中,我有百分比格式,它更改为日期格式.如何保持excel的格式相同,只是将数据插入其他工作表.
Excel 经常被欺骗将数字视为日期(就像 Excel 在幕后将日期存储为数字一样)。要强制单元格为数字而不是日期,请尝试:
ws.Cell(row,col).SetValue<double>(Convert.ToDouble(val));
Run Code Online (Sandbox Code Playgroud)
这是关于ClosedXML Cell Formatting的官方文档。如果您需要将格式保留为百分比,例如“# . ##%”,只需设置单元格格式:
ws.Cell(row, col).Style.NumberFormat.NumberFormatId = 10;
Run Code Online (Sandbox Code Playgroud)
或未经测试
ws.Cell(row, col).Style.NumberFormat.Format = "0.0%";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
970 次 |
| 最近记录: |