单元格值在Excel中被读为####
我正在使用命名范围从excel中读取单元格值,在某些情况下,列宽小于单元格中存在的值,因此在数量巨大时显示为#####。
当我从csharp读取它是读为#####。 任何修复这个
示例代码:
Excel.Application.get_Range(strRange, Type.Missing).Text.ToString() //If i make it Excel.Application.get_Range(strRange, Type.Missing).Value2.ToString() //and read any date string i get 40390
没有任何代码可以读取,我猜你正在读取一个显示string或类似的,每次行宽度变化时Excel将更新。
您可能需要阅读更原始的价值。
.Text为您提供了任何您在Excel渲染层中格式化的内容(如果列太小,则为####).Value2为您提供基础的Excel值。
Excel中的date/时间内部存储为表示自1900年1月0日以来的天数加上小数部分表示当天24小时的一小部分的date,所以date以整数forms显示。
如果要将数字转换回date,可以使用格式:例如格式(40390,“ddmmyyyy”)或格式(40390,“dd / mmm / yyyy”)
你可能试图导入否定date? Excel并没有处理好这些,处理date通常是双打的。