从 C# 写入 Excel-Cell 时如何禁用自动套用格式
How to disable autoformat, when writing to Excel-Cell from C#
我编写了一个将内容写入 Excelsheet 的应用程序。到目前为止,一切都很好。但在某些情况下,来自 Excel 的自动套用格式功能改变了我的值。
例如,我将 'true'/'false' 写入单元格,但 Excel 对其进行解释和翻译。
第二个例子,我写了一个电话号码到 Excel 并且 Excel 删除了前导 '0',所以 '012345' 变成了 '12345'。
我怎么能说一个细胞只是一个text/string细胞?
这是一个示例代码,我如何写入 Excel:
ws.get_Range("A1", "A1").Value = "true";
ws.get_Range("A1", "A1").Cells.WrapText = true;
ws.get_Range("A1", "A1").Rows.AutoFit();
此致
尝试使用前导零
ws.get_Range("A1", "A1").NumberFormat = "@";
ws.get_Range("A1", "A1").Value = "012345";
对于布尔值
ws.get_Range("B1", "B1").Value = "True/False";
使 Excel 将值视为文本的另一种方法是在值前面添加 '
:
ws.get_Range("A1").Value = "'0123";
'
仅在单元格公式中可见,但在 value/text 中不可见。
您也可以一次设置多个单元格:
object[,] values = { { "true", "0123" }, { "false", "0125" } };
var range = ws.get_Range("A1:B2")
range.NumberFormat = "@"; // Text format to treat the values as Text
range.Value = values
或
Clipboard.SetText("'true\t'01234\n'false\t'01235");
ws.get_Range("A1").PasteSpecial(); // or just ws.Paste();
我编写了一个将内容写入 Excelsheet 的应用程序。到目前为止,一切都很好。但在某些情况下,来自 Excel 的自动套用格式功能改变了我的值。 例如,我将 'true'/'false' 写入单元格,但 Excel 对其进行解释和翻译。 第二个例子,我写了一个电话号码到 Excel 并且 Excel 删除了前导 '0',所以 '012345' 变成了 '12345'。
我怎么能说一个细胞只是一个text/string细胞?
这是一个示例代码,我如何写入 Excel:
ws.get_Range("A1", "A1").Value = "true";
ws.get_Range("A1", "A1").Cells.WrapText = true;
ws.get_Range("A1", "A1").Rows.AutoFit();
此致
尝试使用前导零
ws.get_Range("A1", "A1").NumberFormat = "@";
ws.get_Range("A1", "A1").Value = "012345";
对于布尔值
ws.get_Range("B1", "B1").Value = "True/False";
使 Excel 将值视为文本的另一种方法是在值前面添加 '
:
ws.get_Range("A1").Value = "'0123";
'
仅在单元格公式中可见,但在 value/text 中不可见。
您也可以一次设置多个单元格:
object[,] values = { { "true", "0123" }, { "false", "0125" } };
var range = ws.get_Range("A1:B2")
range.NumberFormat = "@"; // Text format to treat the values as Text
range.Value = values
或
Clipboard.SetText("'true\t'01234\n'false\t'01235");
ws.get_Range("A1").PasteSpecial(); // or just ws.Paste();