使用 EPPlus 写入 IP 地址

胡安

我正在尝试使用 EPPlus 将一些 IP 地址写入 excel。事实上,它不是一个真正的 ip 地址 -> 300.278.100 它代表一个子网。我尝试这种格式:

cell.Style.Numberformat.Format = "##0.##0.##0";
cell.Value = val;

cell.Style.Numberformat.Format = "@";
cell.Value = val;

在此处输入图片说明

并且总是得到类似于上图的东西。正如你所看到的,我得到了不同的结果。我们可以看到 36892 的地方应该是“1.1.1”。一些结果像文本一样存储,而另一些则是文本。我希望他们每个人都像没有警告的文本​​一样存储,或者像 ip 格式的数字一样存储。

有谁知道我该如何实施它?

厄尼

问题是有超过一个小数点,这在数字中没有多大意义。如果您想将所有内容保留为数字,我能想到的最接近的大概是:

//With Leading zeros - prints as "001.001.001" in excel
//Should work for all subnets
sheet1.Cells[1, 2].Style.Numberformat.Format = "000\\.000\\.000";
sheet1.Cells[1, 2].Value = 1001001;

不确定是否有一种方法可以选择在这样的实数中显示中间零。我想您可以针对每个单元格进行调整,例如:

//Without Leading zeros but has to be adjusted for each value
//print as "1.1.1" in excel
sheet1.Cells[1, 3].Style.Numberformat.Format = "0\\.0\\.0";
sheet1.Cells[1, 3].Value = 111;

//print as "1.11.1" in excel
sheet1.Cells[1, 4].Style.Numberformat.Format = "0\\.00\\.0";
sheet1.Cells[1, 4].Value = 1111;

不完全漂亮。否则,可以省略格式并将它们设置为字符串。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章