C#导出到Excel时,将存储为文本的数字转换为数字

C#导出到Excel时,将存储为文本的数字转换为数字,c#,excel,visual-studio,excel-interop,winapp,C#,Excel,Visual Studio,Excel Interop,Winapp,我将数据从datagrid导出到Excel,其中一列带有数字,错误为“数字存储为文本”。我试图用下面的代码转换它们,但它不起作用。你能建议一下吗 问题是,然后列标题被上移,数据被破坏 worksheet.Range["E5", "E5"].EntireColumn.TextToColumns(); worksheet.Columns[5].NumberFormat = "# ##0,00"; 此代码将以文本格式存储的数字转换为数字格式。如果要将其用于相反方向,请将fieldinfo设置

我将数据从datagrid导出到Excel,其中一列带有数字,错误为“数字存储为文本”。我试图用下面的代码转换它们,但它不起作用。你能建议一下吗

问题是,然后列标题被上移,数据被破坏

  worksheet.Range["E5", "E5"].EntireColumn.TextToColumns();
  worksheet.Columns[5].NumberFormat = "# ##0,00";

此代码将以文本格式存储的数字转换为数字格式。如果要将其用于相反方向,请将fieldinfo设置为{1,2}

Range rng = Worksheet.Range["A1:A10""];

rng.TextToColumns(rng, XlTextParsingType.xlDelimited, XlTextQualifier.xlTextQualifierDoubleQuote, Tab: true, FieldInfo: new int[] { 1, 1 }, TrailingMinusNumbers: true);

存储数字,而不是以文本开头。您没有使用此代码导出到Excel,而是使用Excel Interop实际启动Excel并将值设置为字段。不要将文本存储到这些值中,而是存储数字-整数、小数、双精度您没有发布实际设置值的代码,尽管此链接可能会对您有所帮助。