簡體   English   中英

如何使用interop.excel將長數字寫為文本

[英]How to write long numbers as text with interop.excel

我正在使用interop.excel dll並創建一個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 = "#####"; 

如果您想一行完成,可以使用Text函數

例:

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

但這可能不是您想要的,因為這會將數字存儲為文本並在公式欄中顯示公式。 在這種情況下,就像建議的user194076一樣,您可以使用.NumberFormat = "@"; .NumberFormat = "#"; 如果您不希望它以科學計數法顯示。

您可以將NumberFormat與'@'或'#'一起使用,例如:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM