/// <summary> /// DataGridViewの列オブジェクトから、Excelの表示形式を取得します。 /// </summary> /// <param name="gridColumn">DataGridViewの列オブジェクト</param> /// <param name="range">設定対象セル</param> /// <returns>Excelの表示形式</returns> private void SetFormat(DataGridViewColumn gridColumn, ref dynamic range) { var valueType = gridColumn.GetValueType(); string gridFormat = gridColumn.DefaultCellStyle.Format.Convert(format => format.Replace(@"\\", @"\")); string numberFormat = (true == valueType.IsNumeric()) ? this.GetNumericExcelFormt(gridFormat) : (typeof(DateTime) == valueType) ? this.GetDateTimeExcelFormt(gridFormat) : (typeof(string) == valueType) ? this.GetStringExcelFormt(gridFormat) : this.GetOtherExcelFormt(gridFormat); if (null != numberFormat) { range.NumberFormat = numberFormat; } return; }