我有c#代码,以编程方式在电子表格中插入单元格。我无法为这些单元格设置感知格式:
Cell cell = OpenXmlHelper.GetCell(ws, address);
if (cell == null)
{
cell = InsertCellInWorksheet(ws, rowIndex, column);
}
cell.DataType = CellValues.Number;
cell.CellValue = new CellValue(value.ToString());
而不是cell.DataType = CellValues.Number;
我需要一些设置Percentage
的代码。
你能给我一些关于openxml中excel单元格格式化百分比的线索或教程吗?
与Open Xml Excel set cell format to be Percentage相比 我的号码为0.08,我需要将其显示为8%。
答案 0 :(得分:-2)
尝试cell.StyleIndex = (UInt32Value)1U;
编辑以回复重新评论
此代码改编自Open XML SDK 2.0 Productivity Tool提供的代码。在此工具中查看百分比格式化单元格时,它生成的代码为:
// Creates an Cell instance and adds its children.
public Cell GenerateCell()
{
Cell cell1 = new Cell(){ CellReference = "A1", StyleIndex = (UInt32Value)1U };
CellValue cellValue1 = new CellValue();
cellValue1.Text = "0.2";
cell1.Append(cellValue1);
return cell1;
}
至于1U
是什么,它似乎是微软决定用来表示样式的神奇数字(U部分只是意味着数字是无符号的)。