gpt4 book ai didi

c# - 在 Closedxml SaveAs 方法中更改了 excel 的当前格式

转载 作者:太空狗 更新时间:2023-10-29 22:00:09 39 4
gpt4 key购买 nike

在我的 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);
}

保存更改后,我的 excel 格式也与其他工作表完全改变。例如,在一张表中我有百分比格式更改为日期格式。如何保持 excel 的格式不变,只向其他工作表插入数据。

最佳答案

Excel 经常被欺骗将数字视为日期(因为在幕后 Excel 将日期存储为数字)。要强制单元格为数字而不是日期,请尝试:

ws.Cell(row,col).SetValue<double>(Convert.ToDouble(val));

这是关于 ClosedXML Cell Formatting 的官方文档.如果您需要将格式保留为百分比,例如“#.##%”,只需设置单元格格式:

ws.Cell(row, col).Style.NumberFormat.NumberFormatId = 10;

或未经测试

ws.Cell(row, col).Style.NumberFormat.Format = "0.0%"; 

关于c# - 在 Closedxml SaveAs 方法中更改了 excel 的当前格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40082597/

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