如何用interop.excel编写长文本文本

我正在使用interop.excel DLL并创build一个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 = "#####"; 

如果你想在一行中做,你可以使用文本function 。

例:

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

但是这可能不是你正在寻找的,因为这会将该数字存储为文本并在公式栏中显示公式。 在这种情况下,像user194076build议的那样,可以使用.NumberFormat = "@";.NumberFormat = "#"; 如果你不希望它以科学记数法显示。

您可以使用带“@”或“#”的NumberFormat示例:

 Range r= worksheet.Cells; r.NumberFormat = "@";