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方法。