Excel单元格值显示不正确.互操作和c#

本文关键字:互操作 不正确 显示 单元格 Excel | 更新日期: 2023-09-27 18:16:24

我通过Excel动态添加一个13位数的值到Excel单元格。互操作和c#。但是,该值显示为"7,21119E+12"而不是"7211192800080"行的内容。如果您点击单元格,那么显示是正确的。

//_ReportData is a DataTable with a single item
for (int i = 0; i < _ReportData[0].Rows.Count; i++)
{
    for (int j = 0; j < _ReportData[0].Columns.Count; j++)
    {
        excelCellRange_data = ((Worksheet)excelWorksheet_data).Cells;
        var cellValueRange = ((Range)excelCellRange_data)[i, j + 1];
        if (i == 0)
            ((Range)cellValueRange).Value2 = _ReportData[0].Columns[j].ToString(); //This is where the columns are set
        else
            ((Range)cellValueRange).Value2 = _ReportData[0].Rows[i][j].ToString(); //This is where the values are set
    }
}

请帮忙好吗?

Excel单元格值显示不正确.互操作和c#

这是一个Excel的"问题"。如果您直接在单元格中键入数字并按回车键,将出现相同的问题。如果您先将单元格格式为数字,它将显示在右边。

((Range)cellValueRange).NumberFormat = "0";

应该插入没有ToString()方法的值。