把放入Excel电子表格中的string放到科学记数法上或放在一起

我把一个string放入excel。 该string通常只有数字,但可以有字母或超字母等。

当我不设置数字格式或设置它像这样(其中xlSheet(0)是Excel.Worksheet)

xlSheet(0).Columns("N:N").EntireColumn.Columns.NumberFormat = "@" 

它以科学记数法输出。

当我使用这个代码时:

 xlSheet(0).Columns("N:N").EntireColumn.Columns.NumberFormat = "0" 

它把这个数字凑到最近的十万个,所以最后的五个数字不应该是0。

应该是:1539648751235678942但是:1539648751235600000

具有连字符或字母的单元格不受影响,工作正常。

任何帮助将不胜感激。

编辑:

我添加这样的数据:

我循环并放入xlSheet(0).Cells(i, 14) = rs!value_number

其中rs是我的ADODB.Recordset

编辑2:赫伯特·西茨通过在文本前添加一个撇号得到它! 感谢大家。

我认为问题在于您尝试input的数字不能完全由Excel来调节。 由于数字在内部存储的方式,Excel对显示/显示的数字有限制。 在Excel的情况下,数字被限制为15位精度(请参阅http://office.microsoft.com/en-us/excel-help/excel-specifications-and-limits-HP010073849.aspx ),这不足以代表您的数。

您可以input数字作为string(“152..42”),所有数字都会显示出来,但是您将无法执行精确的math运算。

对于数字,Excel只能处理15位有效数字。

如果要存储长度超过15位的数字而不丢失数据,则必须将数据存储为文本。

做你一直在做的事情将解决这个问题:

您可以执行以下任一操作以将文本添加为​​文本:

 xlSheet(0).Cells(i, 14).Numberformat = "@" xlSheet(0).Cells(i, 14) = rs!value_number 

要么

 xlSheet(0).Cells(i, 14) = "'" & rs!value_number