/// <summary> /// Formatte le contenu de la cellule. /// </summary> /// <param name="cell">La cellule.</param> /// <param name="dataType">Le type de la donnée.</param> /// <param name="data">La donnée.</param> /// <param name="keepStyle"><c>true</c> pour conserver le style déjà présent sur cette cellule.</param> public void FormatCellContent(Cell cell, CellContent content) { CellValues cellValues; CellValue value = null; if (content == null) { return; } switch (content.DataType) { case CellDataType.String: case CellDataType.Hyperlink: cellValues = CellValues.SharedString; if (!string.IsNullOrEmpty(content.Value)) { value = new CellValue(InsertSharedStringItem(content.Value)); } break; case CellDataType.Number: case CellDataType.Percentage: case CellDataType.Date: case CellDataType.TimeSpan: cellValues = CellValues.Number; value = new CellValue(content.Value); break; default: throw new ArgumentOutOfRangeException(); } if (!string.IsNullOrEmpty(content.Value)) { cell.DataType = cellValues; cell.CellValue = value; } if (!this.KeepCellDefaultStyles) { uint cellStyleIndex = GetCellStyleIndex(content.DataType, content.Value != null ? content.Value.Contains(Environment.NewLine) : false); cell.StyleIndex = cellStyleIndex; } }
/// <summary> /// Définit la valeur à l'emplacement spécifié d'une cellule. /// </summary> /// <param name="part">La feuille.</param> /// <param name="cellReference">La référence vers la cellule.</param> /// <param name="dataType">Le type de la donnée.</param> /// <param name="data">La donnée.</param> public void SetCellValue(WorksheetPart part, CellReference cellReference, CellContent content) { var cell = InsertCellInWorksheet(part, cellReference); FormatCellContent(cell, content); }