我正在使用interop.excel
dll并创建一个Excel文件。我在写长文本时遇到问题。
以下是我正在使用的代码。我可以使用撇号,但如果你查看公式栏,你可以看到格式化单元格。
在没有看到公式栏中的格式化值(使用numberformat
)的情况下,还有其他方法可以将长数字写入Excel电子表格吗?
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 = "#####";
答案 0 :(得分:0)
如果您想在一行中执行此操作,则可以使用Text function。
示例:
worksheets.Cells[i, j] = "=Text(" + dr[p] + ", \"#\"";
但这可能不是你想要的,因为这会将数字存储为文本并在公式栏中显示公式。在这种情况下,就像user194076建议的那样,您可以使用.NumberFormat = "@";
或.NumberFormat = "#";
如果您不希望它以科学记数法显示。
答案 1 :(得分:0)
你可以使用NumberFormat和' @'或者'#' 例如:
Range r= worksheet.Cells;
r.NumberFormat = "@";