【发布时间】:2013-02-28 19:12:59
【问题描述】:
我正在使用 Office OpenXml 写入 Excel 文件。该文件是一个模板,因此它已经包含了我的所有标题和列的格式。我正在将前导零的数字插入“特殊”列,该列基本上是一个 10 位数字。但是在我的代码中,我可以看到它将值设置为例如0000000004。工作表中该单元格中值为4 的结果以及显示0000000004 的实际单元格。
这是我要写入单元格的代码。
if (reader[2].ToString().Length < 9)
{
myworksheet.Cell(firstrow, 12).Value = reader[2].ToString(); //0045678945
}
else
{
myworksheet.Cell(firstrow, 12).Value = reader[2].ToString().Substring(0, 9); //0045678945
}
当我像上面所说的那样打开 excel 表时,我的值是 45678945 而不是 0045678945
任何帮助将不胜感激。
【问题讨论】:
-
您是否尝试过对 Excel 内部的值进行一些验证?也许编写一个宏来解析输入的值以确保它具有正确的字符数,如果它不符合您的标准,则添加前导零。甚至可以为该列定义自定义数据类型。
-
你能解释一下你的代码在上面做了什么来导致前面加零吗?当长度小于 9 时,您似乎会将单元格设置为字符串的值 - 如何使零出现在该字符串中?
标签: c# openxml openxml-sdk spreadsheetml