SpreadsheetDocument OpenXML解码excel文件中的编码文本

我正在尝试使用SpreadsheetDocument OpenXML C#编写一个string“Site_x0020_Column_x0020_Test”,但是当我们打开Excel文件时,string变成了“站点列testing”。 如何保留excel文件中的原始string。

下面是用于写入excel单元的代码

// Add a new Excel Cell to our Row var cell = new Cell { CellReference = cellReference, DataType = CellValues.String}; var cellValue = new CellValue(); cellValue.Text = cellStringValue; cell.Append(cellValue); excelRow.Append(cell); 

谢谢

根据文件 ,下划线是一种逃避angular色,本身必须逃避才能正确。

要存储转义序列的文字forms,初始下划线本身应该被转义(即存储为x005F )。 [例如:string文字x0008将被存储为_x005F_x0008_。

所以,

 "Site_x0020_Column_x0020_Test" 

会成为

 "Site_x005F_x0020_Column_x005F_x0020_Test" 

我真的会预料到,对cellValue.Text属性的分配照顾了这一点。 如果您需要自己编码,请使用XmlConvert.EncodeName方法。