@@ -3490,12 +3490,13 @@ internal void SetValueStyleIdInner(int row, int col, object value, int styleId)
3490
3490
/// <param name="toRow">end row</param>
3491
3491
/// <param name="toColumn">end column</param>
3492
3492
/// <param name="values">set values</param>
3493
+ /// <param name="addHyperlinkStyles">Will add built in styles for hyperlinks</param>
3493
3494
/// <param name="setHyperLinkFromValue">If the value is of type Uri or ExcelHyperlink the Hyperlink property is set.</param>
3494
- internal void SetRangeValueInner ( int fromRow , int fromColumn , int toRow , int toColumn , object [ , ] values , bool setHyperLinkFromValue )
3495
+ internal void SetRangeValueInner ( int fromRow , int fromColumn , int toRow , int toColumn , object [ , ] values , bool setHyperLinkFromValue , bool addHyperlinkStyles = false )
3495
3496
{
3496
3497
if ( setHyperLinkFromValue )
3497
3498
{
3498
- SetValuesWithHyperLink ( fromRow , fromColumn , values ) ;
3499
+ SetValuesWithHyperLink ( fromRow , fromColumn , values , addHyperlinkStyles ) ;
3499
3500
}
3500
3501
else
3501
3502
{
@@ -3507,11 +3508,12 @@ internal void SetRangeValueInner(int fromRow, int fromColumn, int toRow, int toC
3507
3508
_metadataStore . Clear ( fromRow , fromColumn , values . GetUpperBound ( 0 ) + 1 , values . GetUpperBound ( 1 ) + 1 ) ;
3508
3509
}
3509
3510
3510
- private void SetValuesWithHyperLink ( int fromRow , int fromColumn , object [ , ] values )
3511
+ private void SetValuesWithHyperLink ( int fromRow , int fromColumn , object [ , ] values , bool addHyperlinkStyles )
3511
3512
{
3512
3513
var rowBound = values . GetUpperBound ( 0 ) ;
3513
3514
var colBound = values . GetUpperBound ( 1 ) ;
3514
3515
3516
+ var hyperlinkStylesAdded = false ;
3515
3517
for ( int r = 0 ; r <= rowBound ; r ++ )
3516
3518
{
3517
3519
for ( int c = 0 ; c <= colBound ; c ++ )
@@ -3527,6 +3529,18 @@ private void SetValuesWithHyperLink(int fromRow, int fromColumn, object[,] value
3527
3529
var t = v . GetType ( ) ;
3528
3530
if ( t == typeof ( Uri ) || t == typeof ( ExcelHyperLink ) )
3529
3531
{
3532
+ if ( ! hyperlinkStylesAdded && addHyperlinkStyles )
3533
+ {
3534
+ if ( ! Workbook . Styles . NamedStyles . ExistsKey ( "Hyperlink" ) )
3535
+ {
3536
+ var hls = Workbook . Styles . CreateNamedStyle ( "Hyperlink" ) ;
3537
+ hls . BuildInId = 8 ;
3538
+ hls . Style . Font . UnderLine = true ;
3539
+ hls . Style . Font . Color . SetColor ( System . Drawing . Color . FromArgb ( 0x0563C1 ) ) ;
3540
+ }
3541
+ hyperlinkStylesAdded = true ;
3542
+ }
3543
+ Cells [ row , col ] . StyleName = "Hyperlink" ;
3530
3544
_hyperLinks . SetValue ( row , col , ( Uri ) v ) ;
3531
3545
if ( v is ExcelHyperLink hl )
3532
3546
{
0 commit comments