gpt4 book ai didi

c# - 通过 C# 将字符串、数字数据写入 Excel 是可行的,但 Excel 无法正确处理数字数据

转载 作者:行者123 更新时间:2023-11-30 16:34:18 32 4
gpt4 key购买 nike

我从 Sybase 获取结果集并返回给 C# 客户端。

我使用下面的函数将结果集数据写入Excel:

private static void WriteData(Excel.Worksheet worksheet, string cellRef, ref string[,] data)
{
Excel.Range range = worksheet.get_Range(cellRef, Missing.Value);

if (data.GetLength(0) != 0)
{
range = range.get_Resize(data.GetLength(0), data.GetLength(1));

range.set_Value(Missing.Value, data);
}
}

数据被正确写入。

问题是,由于我使用字符串数组写入数据(字符串和 float 的混合),Excel 会突出显示每个包含数字数据的单元格,并显示消息“数字存储为文本”。

如何解决这个问题?

非常感谢,查帕克斯

最佳答案

尝试以下操作:用对象数组替换字符串数组。

var data = new object[2,2];
data[0, 0] = "A";
data[0, 1] = 1.2;
data[1, 0] = null;
data[1, 1] = "B";

var theRange = theSheet.get_Range("D4", "E5");
theRange.Value2 = data;

如果我使用这段代码,相当于你的:

var data = new string[2,2];

我和你一样的症状。附带的好处是,您不必将任何内容强制转换为字符串:您可以用想要显示的任何内容填充数组。

关于c# - 通过 C# 将字符串、数字数据写入 Excel 是可行的,但 Excel 无法正确处理数字数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2532527/

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