我已經看了很多通過StackOverflow,但似乎沒有什麼完全解決我的問題。EPPlus導致警告「在這個單元格中的數字被格式化爲文本或撇號前面」
在我的C#程序中,我有一個字符串字段,它有時只是一個數字,有時是一個字。該字符串是生成的Excel文檔中單元格值的來源。
當字符串包含一個單詞時,它工作正常,當它包含說「2」時,我得到錯誤。
The number in this cell is formatted as text or preceded by an apostrophe
。
SO上的大多數答案都依賴於將單元視爲數字來擺脫這種情況,但地雷有時只是一個數字,而且我不希望Excel中的列包含邏輯上爲單元的不同格式相同。
我試過把它當作文本字段使用「@」格式來對待,但那也不起作用。
excelRange.Style.Numberformat.Format = "@";
有什麼想法?
更新:
當我在Excel中輸入2時,它將它視爲一個數字。如果我手動將格式更改爲文本,它將以我想要的方式工作而不會出現任何錯誤。我不知道,當我編程輸入「2」,使用「@」格式化它不會做同樣的...
更新2:
的代碼我使用的力矩當它不是字符串時可以正常工作。
using (var excelRange = excelWorksheet.Cells[lastEmptyRow, 5])
{
var value = task.Priority;
excelRange.Value = value;
excelRange.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
excelRange.Style.Border.BorderAround(ExcelBorderStyle.Thin);
}
你能提供一些你得到錯誤的代碼嗎? – Digvijay
嗨Digvijay,道歉不包括這一點。我現在更新了它。 –
您是否嘗試過將單元格NumberFormat設置爲cell.Style.Numberformat.Format =「@」;這會強制它被視爲字符串而不是數字,即使您將值設置爲數字。 – Digvijay