我正在使用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显示带前导零的数字,通过OOXML从C#中读取它们,您看不到前导零。
Excel可能会设置一些格式设置规则,而不是存储实际的前导零。
有几种方法可以解决这一问题。这是我想到的“最便宜的”产品之一:
将Excel中的列设置为文本格式
在C#代码中不要期望前导零,而是添加它们
关于c# - Excel不插入前导零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15143753/