use*_*597 2 c# openxml spreadsheetml openxml-sdk
我使用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
}
Run Code Online (Sandbox Code Playgroud)
当我像上面所述打开excel表时,我的价值45678945不是0045678945
任何帮助,将不胜感激.
获得所需结果的最简单方法是将撇号添加到您放入单元格中的值 - 这告诉Excel它是一个字符串:
Cell.Value= "'" & "000123"
Run Code Online (Sandbox Code Playgroud)
将显示为 000123
这里有一些代码可以显示事物是如何工作的(至少它们如何在Excel 2010中工作):
Sub testFormat()
[A1].Value = "000123"
[A2].Value = "'000123"
[A3].Value = "000123"
[A3].NumberFormat = "@"
[A4].Value = "'000123"
[A4].NumberFormat = "@"
End Sub
Run Code Online (Sandbox Code Playgroud)
结果如下:

如您所见,有三个单元格显示前导零:
"@"(="text")格式格式化的单元格我不知道你做了什么让撇号出现在你的电子表格中......但是我希望上面的内容会激励你解决你的问题.
| 归档时间: |
|
| 查看次数: |
7705 次 |
| 最近记录: |