1

我正在使用interop.exceldll 并创建一个 Excel 文件。我在将长数字写为文本时遇到问题。

下面是我正在使用的代码。我可以使用撇号,但如果您查看公式栏中,您可以看到单元格已格式化。

有没有其他方法可以将长数字写入 Excel 电子表格,而不会看到公式栏中的格式化值(使用numberformat)?

worksheet.Cells[i, j] = "'" + dr[p];

//var startCell = (Excel.Range)worksheet.Cells[i, j]; 

//var endCell = (Excel.Range)worksheet.Cells[i, j]; 

//worksheetRange = worksheet.get_Range(startCell, endCell); 

//worksheetRange.NumberFormat = "#####"; 
4

2 回答 2

0

如果你想在一行中完成,你可以使用Text 函数

例子:

worksheets.Cells[i, j] = "=Text(" + dr[p] + ", \"#\"";

但这可能不是您要查找的内容,因为这会将数字存储为文本并在公式栏中显示公式。在这种情况下,就像 user194076 建议的那样,您可以使用.NumberFormat = "@"; 或者.NumberFormat = "#";如果您不希望它以科学记数法显示。

于 2012-10-10T00:43:59.613 回答
0

您可以使用带有 '@' 或 '#' 的 NumberFormat 示例:

Range r= worksheet.Cells;
r.NumberFormat = "@";
于 2017-01-24T06:13:50.453 回答