我有一个包含地址的Excel电子表格。我正在使用OLEDB从电子表格中读取数据并将其存储到DataTable中。然后我遍历DataTable并创建我的输出,该输出被写入.csv文件。我在C#中做了所有这些。
问题在于:当我打开.csv文件时,任何连字符的邮政编码都被替换为0。
12345-1234 - > 0
所以我想纠正这种行为,以便邮政编码按原样显示。如果我必须在连字符后切掉数字,那就没问题了。如何确保邮政编码被转移?
另外,我可以在代码中做些什么来维护邮政编码中的前导0?邮政编码如下:
01234 - > 1234
我能在代码中做些什么来保持领先0?
答案 0 :(得分:0)
如果邮政编码在excel电子表格中格式化,您应该阅读它们,将它们存储在内存中,并将它们全部写为字符串。不要将它们转换为整数。
答案 1 :(得分:0)
问题是CSV文件必须由Excel解释,并假设看起来像数字的东西应该根据默认的数字规则来处理。遗憾的是,修复程序并不适用于所有可能的情况。您可以执行以下选项之一:
'
写入字段="01234"
如果您只是使用Excel查看数据,那么第二个或第三个选项可能会起作用。如果您需要使用其他公式中的数据,那么您可能希望转到第一条路线。如果你正在检查Excel中的数据,但是你想在其他地方使用它,我也建议你去第一条路线。
答案 2 :(得分:0)
我刚刚测试了您的数据,此处发布的此method有效。
即。当放入DataSet时,单元格值保持其值“12345-1234”。前导零也被发送到DataSet。 (邮政编码:00601)