gpt4 book ai didi

c# - 在现有文档中编辑范围 NumberFormat

转载 作者:太空宇宙 更新时间:2023-11-03 20:21:42 26 4
gpt4 key购买 nike

我无法更改现有 Excel 文档 (xlsx) 中的列格式。列内容实际上是数字,但显示为文本,因此出现绿色三角形告诉单元格显示为文本。

所以我在 C# 应用程序中打开此文档并执行以下操作:

sheet_.Range[sheet_.Cells[1, 2], sheet_.Cells[rowNum, 2]].EntireColumn.NumberFormat = "0";                

但它不会更改列以将内容显示为数字(它们保持左侧对齐)

最佳答案

我知道这是一篇旧帖子,但我一直在处理同样的问题。我收到的 .xlsx 文件已经有绿色三角形表示“数字为文本”错误。我找不到一种方法来以编程方式运行 Excel 错误检查命令“转换为数字”,您可以通过单击 Excel 来执行此操作,并更改具有这些错误的单元格上的 NumberFormat 对我不起作用,但我能够使用 TextToColumns 方法“刷新”单元格格式。

int lastCol = sheet.UsedRange.Columns.Count;
if(lastCol > 1)
{
for (int i = 1; i <= lastCol; i++)
{
sheet.Columns[i].TextToColumns(Type.Missing, XlTextParsingType.xlDelimited, XlTextQualifier.xlTextQualifierNone);
}

然后您可以从那里更改 NumberFormat。我碰巧有被放入科学记数法的长整数,所以我用它再次使它们成为常规整数:

sheet.Cells.NumberFormat = "#";

(PS,如果有人找到有关用于自定义 NumberFormats 的符号的权威指南,我仍在努力寻找!)

关于c# - 在现有文档中编辑范围 NumberFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13065087/

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