2012-10-10 53 views
1

我正在使用interop.excel dll並創建一個Excel文件。我在編寫長文本時遇到問題。如何使用interop.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 = "#####"; 
+1

做您嘗試使用cell.NumberFormat = 「@」? – user194076

+0

感謝它的工作。我沒有用正確的語法使用數字格式 – user1718824

回答

0

如果你想在一行中做到這一點,你可以使用Text function

例子:

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

但是,這可能不是你要找的內容,因爲這將存儲爲文本的數字,並顯示在公式欄中的公式。在這種情況下,如user194076建議的那樣,如果您不希望它以科學記數法顯示,則可以使用.NumberFormat = "@";.NumberFormat = "#";

0

您可以使用NumberFormat的 '@' 或 '#' 例如:

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